diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/qmlmodels/qqmllistaccessor.cpp | 9 | ||||
-rw-r--r-- | src/qmlmodels/qqmllistaccessor_p.h | 2 |
2 files changed, 9 insertions, 2 deletions
diff --git a/src/qmlmodels/qqmllistaccessor.cpp b/src/qmlmodels/qqmllistaccessor.cpp index 5e3fb86510..7412dd0146 100644 --- a/src/qmlmodels/qqmllistaccessor.cpp +++ b/src/qmlmodels/qqmllistaccessor.cpp @@ -43,6 +43,7 @@ #include <QtCore/qstringlist.h> #include <QtCore/qdebug.h> +#include <QtCore/qurl.h> // ### Remove me #include <private/qqmlengine_p.h> @@ -78,7 +79,9 @@ void QQmlListAccessor::setList(const QVariant &v, QQmlEngine *engine) m_type = Invalid; } else if (d.userType() == QMetaType::QStringList) { m_type = StringList; - } else if (d.userType() == QMetaType::QVariantList) { + } else if (d.userType() == qMetaTypeId<QList<QUrl>>()) { + m_type = UrlList; + } else if (d.userType() == qMetaTypeId<QVariantList>()) { m_type = VariantList; } else if (d.userType() == qMetaTypeId<QList<QObject *>>()) { m_type = ObjectList; @@ -120,6 +123,8 @@ qsizetype QQmlListAccessor::count() const switch(m_type) { case StringList: return qvariant_cast<QStringList>(d).count(); + case UrlList: + return qvariant_cast<QList<QUrl>>(d).count(); case VariantList: return qvariant_cast<QVariantList>(d).count(); case ObjectList: @@ -142,6 +147,8 @@ QVariant QQmlListAccessor::at(qsizetype idx) const switch(m_type) { case StringList: return QVariant::fromValue(qvariant_cast<QStringList>(d).at(idx)); + case UrlList: + return QVariant::fromValue(qvariant_cast<QList<QUrl>>(d).at(idx)); case VariantList: return qvariant_cast<QVariantList>(d).at(idx); case ObjectList: diff --git a/src/qmlmodels/qqmllistaccessor_p.h b/src/qmlmodels/qqmllistaccessor_p.h index 3306396b00..dba3c6d402 100644 --- a/src/qmlmodels/qqmllistaccessor_p.h +++ b/src/qmlmodels/qqmllistaccessor_p.h @@ -70,7 +70,7 @@ public: qsizetype count() const; QVariant at(qsizetype) const; - enum Type { Invalid, StringList, VariantList, ObjectList, ListProperty, Instance, Integer }; + enum Type { Invalid, StringList, UrlList, VariantList, ObjectList, ListProperty, Instance, Integer }; Type type() const { return m_type; } private: |