30class QQuickImageSelector :
public QObject,
public QQmlParserStatus,
public QQmlPropertyValueInterceptor
33 Q_PROPERTY(QUrl source READ source NOTIFY sourceChanged FINAL)
34 Q_PROPERTY(QString name READ name WRITE setName FINAL)
35 Q_PROPERTY(QString path READ path WRITE setPath FINAL)
36 Q_PROPERTY(QVariantList states READ states WRITE setStates FINAL)
37 Q_PROPERTY(QString separator READ separator WRITE setSeparator FINAL)
38 Q_PROPERTY(
bool cache READ cache WRITE setCache FINAL)
39 Q_INTERFACES(QQmlParserStatus QQmlPropertyValueInterceptor)
40 QML_NAMED_ELEMENT(ImageSelector)
41 QML_ADDED_IN_VERSION(2, 3)
44 explicit QQuickImageSelector(QObject *parent =
nullptr);
47 void setSource(
const QUrl &source);
50 void setName(
const QString &name);
53 void setPath(
const QString &path);
55 QVariantList states()
const;
56 void setStates(
const QVariantList &states);
58 QString separator()
const;
59 void setSeparator(
const QString &separator);
62 void setCache(
bool cache);
64 void write(
const QVariant &value) override;
65 void setTarget(
const QQmlProperty &property) override;
71 void classBegin() override;
72 void componentComplete() override;
74 virtual QStringList fileExtensions()
const;
76 QString cacheKey()
const;
78 void setUrl(
const QUrl &url);
79 bool updateActiveStates();
80 int calculateScore(
const QStringList &states)
const;
84 bool m_complete =
false;
88 QString m_separator = QLatin1String(
"-");
89 QVariantList m_allStates;
90 QStringList m_activeStates;
91 QQmlProperty m_property;