42 #include "private/qobject_p.h"
54 static inline QString applicationXQtImageLiteral() {
return QStringLiteral(
"application/x-qt-image"); }
116 int typeId =
type.id();
123 if (
data.metaType().id() == QMetaType::QUrl) {
129 for (
int i = 0;
i <
list.size(); ++
i) {
130 if (
list.at(
i).metaType().id() == QMetaType::QUrl) {
152 if ((typeId == QMetaType::QPixmap &&
data.metaType().id() == QMetaType::QImage)
153 || (typeId == QMetaType::QImage &&
data.metaType().id() == QMetaType::QPixmap))
173 case QMetaType::QColor: {
176 newData.
convert(QMetaType::QColor);
185 case QMetaType::QUrl: {
195 for (
int i = 0;
i < urls.
size(); ++
i) {
209 switch (
data.metaType().id()) {
211 case QMetaType::QColor:
212 return data.toByteArray();
214 return data.toString().toUtf8();
215 case QMetaType::QUrl:
216 return data.toUrl().toEncoded();
221 for (
int i = 0;
i <
list.size(); ++
i) {
222 if (
list.at(
i).metaType().id() == QMetaType::QUrl) {
355 if (
data.metaType().id() == QMetaType::QUrl)
359 for (
int i = 0;
i <
list.size(); ++
i) {
360 if (
list.at(
i).metaType().id() == QMetaType::QUrl)
383 list.reserve(numUrls);
384 for (
int i = 0;
i < numUrls; ++
i)
387 d->setData(textUriListLiteral(),
list);
418 return data.toString();
430 d->setData(textPlainLiteral(),
text);
454 return data.toString();
466 d->setData(textHtmlLiteral(),
html);
495 return d->retrieveTypedData(applicationXQtImageLiteral(),
QMetaType(QMetaType::QImage));
512 d->setData(applicationXQtImageLiteral(),
image);
523 return hasFormat(applicationXQtImageLiteral());
542 return d->retrieveTypedData(applicationXColorLiteral(),
QMetaType(QMetaType::QColor));
555 d->setData(applicationXColorLiteral(),
color);
567 return hasFormat(applicationXColorLiteral());
578 return data.toByteArray();
610 d->setData(mimeType,
list);
628 return formats().contains(mimeType);
646 list.reserve(
static_cast<int>(
d->dataList.size()));
647 for (
auto &
e :
d->dataList)
671 return d->getData(mimeType);
691 d->removeData(mimeType);
696 #include "moc_qmimedata.cpp"
small capitals from c petite p scientific i
[1]
The QByteArray class provides an array of bytes.
QByteArray trimmed() const &
bool endsWith(char c) const
QList< QByteArray > split(char sep) const
bool isEmpty() const noexcept
bool isNull() const noexcept
The QLatin1String class provides a thin wrapper around an US-ASCII/Latin-1 encoded string literal.
qsizetype size() const noexcept
const_reference at(qsizetype i) const noexcept
void append(parameter_type t)
The QMimeData class provides a container for data that records information about its MIME type.
void setHtml(const QString &html)
QVariant colorData() const
void setData(const QString &mimetype, const QByteArray &data)
QVariant imageData() const
void setText(const QString &text)
void setImageData(const QVariant &image)
virtual bool hasFormat(const QString &mimetype) const
void setColorData(const QVariant &color)
virtual QVariant retrieveData(const QString &mimetype, QMetaType preferredType) const
QList< QUrl > urls() const
QByteArray data(const QString &mimetype) const
virtual QStringList formats() const
void setUrls(const QList< QUrl > &urls)
void removeFormat(const QString &mimetype)
std::vector< QMimeDataStruct >::iterator find(const QString &format) noexcept
std::vector< QMimeDataStruct > dataList
QVariant getData(const QString &format) const
std::vector< QMimeDataStruct >::const_iterator find(const QString &format) const noexcept
QVariant retrieveTypedData(const QString &format, QMetaType type) const
void setData(const QString &format, const QVariant &data)
void removeData(const QString &format)
The QObject class is the base class of all Qt objects.
static Q_CORE_EXPORT std::optional< Encoding > encodingForHtml(QByteArrayView data)
The QStringDecoder class provides a state-based decoder for text. \reentrant.
The QString class provides a Unicode character string.
static QString fromUtf8(QByteArrayView utf8)
The QStringList class provides a list of strings.
static QUrl fromEncoded(const QByteArray &url, ParsingMode mode=TolerantMode)
The QVariant class acts like a union for the most common Qt data types.
bool convert(QMetaType type)
typename C::const_iterator const_iterator
typename C::iterator iterator
#define QT_WARNING_DISABLE_DEPRECATED
typedef QByteArray(EGLAPIENTRYP PFNQGSGETDISPLAYSPROC)()
QList< QVariant > QVariantList
Q_DECLARE_TYPEINFO(QMimeDataStruct, Q_RELOCATABLE_TYPE)
GLint GLsizei GLsizei GLenum GLenum GLsizei void * data
GLint GLsizei GLsizei GLenum format
GLdouble GLdouble GLdouble GLdouble q
#define QStringLiteral(str)
The QLatin1Char class provides an 8-bit ASCII/Latin-1 character.