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
4
#include "
qwindowsinternalmimedata.h
"
5
#include "
qwindowscontext.h
"
6
#include "
qwindowsmimeregistry.h
"
7
#include <QtCore/qdebug.h>
8
#include <QtCore/qvariant.h>
9
31
bool
QWindowsInternalMimeData::hasFormat_sys
(
const
QString
&
mime
)
const
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
44
QStringList
QWindowsInternalMimeData::formats_sys
()
const
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
57
QVariant
QWindowsInternalMimeData::retrieveData_sys
(
const
QString
&
mimeType
,
QMetaType
type
)
const
58
{
59
IDataObject *pDataObj =
retrieveDataObject
();
60
if
(!pDataObj)
61
return
QVariant
();
62
63
QVariant
result
;
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);
68
if
(
QWindowsContext::verbose
) {
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
}
QMetaType
\inmodule QtCore
Definition
qmetatype.h:341
QStringList
\inmodule QtCore
QString
\macro QT_RESTRICTED_CAST_FROM_ASCII
Definition
qstring.h:129
QVariant
\inmodule QtCore
Definition
qvariant.h:65
QWindowsContext::instance
static QWindowsContext * instance()
Definition
qwindowscontext.cpp:466
QWindowsContext::verbose
static int verbose
Definition
qwindowscontext.h:61
QWindowsInternalMimeData::hasFormat_sys
bool hasFormat_sys(const QString &mimetype) const override
Definition
qwindowsinternalmimedata.cpp:31
QWindowsInternalMimeData::retrieveDataObject
virtual IDataObject * retrieveDataObject() const =0
QWindowsInternalMimeData::releaseDataObject
virtual void releaseDataObject(IDataObject *) const
Definition
qwindowsinternalmimedata.h:25
QWindowsInternalMimeData::retrieveData_sys
QVariant retrieveData_sys(const QString &mimetype, QMetaType preferredType) const override
Definition
qwindowsinternalmimedata.cpp:57
QWindowsInternalMimeData::formats_sys
QStringList formats_sys() const override
Definition
qwindowsinternalmimedata.cpp:44
QWindowsMimeRegistry
Manages the list of QWindowsMimeConverter instances.
Definition
qwindowsmimeregistry.h:20
QWindowsMimeRegistry::allMimesForFormats
QStringList allMimesForFormats(IDataObject *pDataObj) const
Definition
qwindowsmimeregistry.cpp:1291
QWindowsMimeRegistry::converterToMime
QWindowsMimeConverter * converterToMime(const QString &mimeType, IDataObject *pDataObj) const
Definition
qwindowsmimeregistry.cpp:1281
QStringList
QList< QString > QStringList
Constructs a string list that contains the given string, str.
Definition
qcontainerfwd.h:40
mimeType
const char * mimeType
Definition
qffmpegmediaformatinfo.cpp:71
qCDebug
#define qCDebug(category,...)
Definition
qloggingcategory.h:123
type
GLenum type
Definition
qopengles2ext.h:150
result
GLuint64EXT * result
[6]
Definition
qopenglext.h:10932
QStringLiteral
#define QStringLiteral(str)
Definition
qstringliteral.h:36
qwindowscontext.h
qwindowsinternalmimedata.h
qwindowsmimeregistry.h
mime
application x qt windows mime
[2]
Definition
src_corelib_kernel_qmimedata.cpp:45
qtbase
src
plugins
platforms
windows
qwindowsinternalmimedata.cpp
Generated by
1.10.0