9#include "QXmppConstants_p.h"
10#include "QXmppStanza.h"
12#if QXMPP_DEPRECATED_SINCE(1, 1)
22class QXmppDataFormPrivate;
23class QXmppDataFormFieldPrivate;
24class QXmppDataFormMediaPrivate;
25class QXmppDataFormMediaSourcePrivate;
34 MediaSource(
const QUrl &uri,
const QMimeType &contentType);
43 void setUri(
const QUrl &uri);
45 QMimeType contentType()
const;
46 void setContentType(
const QMimeType &contentType);
50 static constexpr std::tuple XmlTag = { u
"uri", QXmpp::Private::ns_media_element };
54 QSharedDataPointer<QXmppDataFormMediaSourcePrivate> d;
57#if QXMPP_DEPRECATED_SINCE(1, 1)
61 QT_DEPRECATED_X(
"Use QXmppDataForm::Field() instead")
63 QT_DEPRECATED_X(
"Use QXmppDataForm::Field() instead")
72 void setHeight(
int height);
77 void setWidth(
int width);
80 QList<QPair<QString, QString>> uris() const;
82 void setUris(const QList<QPair<QString, QString>> &uris);
88 QSharedDataPointer<QXmppDataFormMediaPrivate> d;
110 const QString &key = {},
111 const QVariant &value = {},
112 bool isRequired =
false,
113 const QString &label = {},
114 const QString &description = {},
115 const QList<QPair<QString, QString>> &options = {});
123 QString description()
const;
124 void setDescription(
const QString &description);
127 void setKey(
const QString &key);
129 QString label()
const;
130 void setLabel(
const QString &label);
132#if QXMPP_DEPRECATED_SINCE(1, 1)
133 QT_DEPRECATED_X(
"Use QXmppDataForm::Field::mediaSources() or QXmppDataForm::Field::mediaSize() instead")
137 void setMedia(const
Media &media);
140 QList<QPair<QString, QString>> options()
const;
141 void setOptions(
const QList<QPair<QString, QString>> &options);
143 bool isRequired()
const;
144 void setRequired(
bool required);
149 QVariant value()
const;
150 void setValue(
const QVariant &value);
152 QVector<QXmppDataForm::MediaSource> &mediaSources();
153 QVector<QXmppDataForm::MediaSource> mediaSources()
const;
154 void setMediaSources(
const QVector<QXmppDataForm::MediaSource> &mediaSources);
156 QSize mediaSize()
const;
158 void setMediaSize(
const QSize &size);
160 bool operator==(
const Field &other)
const;
163 static constexpr std::tuple XmlTag = { u
"field", QXmpp::Private::ns_data };
164 static std::optional<Field> fromDom(
const QDomElement &el);
165 void toXml(QXmlStreamWriter *writer)
const;
169 QSharedDataPointer<QXmppDataFormFieldPrivate> d;
187 const QList<Field> &fields = {},
188 const QString &title = {},
189 const QString &instructions = {});
198 QString instructions()
const;
199 void setInstructions(
const QString &instructions);
201 QList<Field> fields()
const;
202 QList<Field> &fields();
203 void setFields(
const QList<QXmppDataForm::Field> &fields);
205 QString title()
const;
206 void setTitle(
const QString &title);
211 QString formType()
const;
216 static constexpr std::tuple XmlTag = { u
"x", QXmpp::Private::ns_data };
217 void parse(
const QDomElement &element);
218 void toXml(QXmlStreamWriter *writer)
const;
222 QSharedDataPointer<QXmppDataFormPrivate> d;