PDA

View Full Version : OSX drag and drop from Outlook / uniform type identifiers



migel
25th May 2012, 15:32
Hi
I would love to drag a file from outlook to my app, but it is still unknown for me. I use QMacPasteBoardMime to be able to read osx mimetypes.

Question how to read the content or what ever is needed to get urls() or the file content there.


class PasteboardMime : public QMacPasteboardMime
{
public:
PasteboardMime() : QMacPasteboardMime(MIME_ALL)
{ }

QString convertorName()
{
return QString("Mime");
}

bool canConvert(const QString &mime, QString flav)
{
return mimeFor(flav) == mime;
}

QString mimeFor(QString flav)
{
return flav;
}

QString flavorFor(const QString &mime)
{
return mime;
}

QVariant convertToMime(const QString &mime, QList<QByteArray> data, QString flav)
{
QByteArray all;
foreach ( QByteArray i, data )
{
all += i;
}
return QVariant( all );
}

QList<QByteArray> convertFromMime(const QString &mime, QVariant data, QString flav)
{
return QList<QByteArray>();
}

};


This is printing below:

foreach(QString f, event->mimeData()->formats())
qDebug() << event->encodedData(event->mimeData()->data(f));



""
""
""
""
""
""


Debugging QVariant convertToMime ( qDebug() << mime, data, flav; ) prints below:


"dyn.ah62d4rv4gu8yc6durvwwa3xmrvw1gkdusm1044pxqyuha 2pxsvw0e55bsmwca7d3sbwu"
"dyn.ah62d4rv4gu8y8xcbsv4gc25krzw067dxnbvg82pwqvnhw 6df"
"com.apple.pasteboard.promised-file-content-type"


Debugging QList<QByteArray> convertFromMime prints nothing;

I know I can get some data from dyn. files, but data there means nothing to me.
Example:



QMetaObject::invokeMethod: No such method WebCore::SocketStreamHandlePrivate::socketSentData ()
"dyn.ah62d4rv4gu8yc6durvwwa3xmrvw1gkdusm1044pxqyuha 2pxsvw0e55bsmwca7d3sbwu" ("<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
<string>png</string>
</array>
</plist>
") "dyn.ah62d4rv4gu8yc6durvwwa3xmrvw1gkdusm1044pxqyuha 2pxsvw0e55bsmwca7d3sbwu"
""
"dyn.ah62d4rv4gu8y8xcbsv4gc25krzw067dxnbvg82pwqvnhw 6df" ("bplist00Ô !T$topX$objectsX$versionY$archiverÑTroot ¥
U$nullÃ’ ZNS.objectsV$class¡€€Ã’ _ECAttachmentOPFAttachmentRef@hø€à X$classesZ$classname£\ECAttachment^ECF TypeWrapperXNSObject\ECAttachmentÃ’£^ NSMutableArrayWNSArray
""
""
"com.apple.pasteboard.promised-file-content-type" ("public.png") "com.apple.pasteboard.promised-file-content-type"
""
""
""


Any ideas ?
Thanks