Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qwindowsinternalmimedata.cpp
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
5#include "qwindowscontext.h"
7#include <QtCore/qdebug.h>
8#include <QtCore/qvariant.h>
9
32{
33 IDataObject *pDataObj = retrieveDataObject();
34 if (!pDataObj)
35 return false;
36
37 const QWindowsMimeRegistry &mc = QWindowsContext::instance()->mimeConverter();
38 const bool has = mc.converterToMime(mime, pDataObj) != nullptr;
39 releaseDataObject(pDataObj);
40 qCDebug(lcQpaMime) << __FUNCTION__ << mime << has;
41 return has;
42}
43
45{
46 IDataObject *pDataObj = retrieveDataObject();
47 if (!pDataObj)
48 return QStringList();
49
50 const QWindowsMimeRegistry &mc = QWindowsContext::instance()->mimeConverter();
51 const QStringList fmts = mc.allMimesForFormats(pDataObj);
52 releaseDataObject(pDataObj);
53 qCDebug(lcQpaMime) << __FUNCTION__ << fmts;
54 return fmts;
55}
56
58{
59 IDataObject *pDataObj = retrieveDataObject();
60 if (!pDataObj)
61 return QVariant();
62
64 const QWindowsMimeRegistry &mc = QWindowsContext::instance()->mimeConverter();
65 if (auto converter = mc.converterToMime(mimeType, pDataObj))
66 result = converter->convertToMime(mimeType, pDataObj, type);
67 releaseDataObject(pDataObj);
69 qCDebug(lcQpaMime) <<__FUNCTION__ << ' ' << mimeType << ' ' << type.name()
70 << " returns " << result.metaType().name()
71 << (result.metaType().id() != QMetaType::QByteArray ? result.toString() : QStringLiteral("<data>"));
72 }
73 return result;
74}
\inmodule QtCore
Definition qmetatype.h:341
\inmodule QtCore
\macro QT_RESTRICTED_CAST_FROM_ASCII
Definition qstring.h:129
\inmodule QtCore
Definition qvariant.h:65
static QWindowsContext * instance()
bool hasFormat_sys(const QString &mimetype) const override
virtual IDataObject * retrieveDataObject() const =0
virtual void releaseDataObject(IDataObject *) const
QVariant retrieveData_sys(const QString &mimetype, QMetaType preferredType) const override
QStringList formats_sys() const override
Manages the list of QWindowsMimeConverter instances.
QStringList allMimesForFormats(IDataObject *pDataObj) const
QWindowsMimeConverter * converterToMime(const QString &mimeType, IDataObject *pDataObj) const
QList< QString > QStringList
Constructs a string list that contains the given string, str.
const char * mimeType
#define qCDebug(category,...)
GLenum type
GLuint64EXT * result
[6]
#define QStringLiteral(str)
application x qt windows mime
[2]