From d16692ed1b12b2d464afcb32799580402e82e393 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Morten=20Johan=20S=C3=B8rvig?= Date: Wed, 11 May 2016 12:41:41 +0200 Subject: Cocoa: Allow pasting text from Qt apps to Mail MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Apple Mail will pick up and attempt to use the vCard flavor, which then fails since the data Qt placed on the clipboard is not actually a valid vCard. Place data in the vCard format on the clipboard only if the mime type is “text/vcard”. [ChangeLog][OS X] Pasting text from Qt applications to Apple Mail now works. [ChangeLog][OS X] “text/vcard” is now required as the mime type when placing vCards on the clipboard. Task-number: QTBUG-48953 Change-Id: Id029b20317f2c5ad8ae225912484de3c97498d29 Reviewed-by: Timur Pocheptsov Reviewed-by: Jake Petroules Reviewed-by: Gabriel de Dietrich --- src/platformsupport/clipboard/qmacmime.mm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/platformsupport/clipboard') diff --git a/src/platformsupport/clipboard/qmacmime.mm b/src/platformsupport/clipboard/qmacmime.mm index dbb7e6f754..317648956c 100644 --- a/src/platformsupport/clipboard/qmacmime.mm +++ b/src/platformsupport/clipboard/qmacmime.mm @@ -748,7 +748,7 @@ bool QMacPasteboardMimeVCard::canConvert(const QString &mime, QString flav) QString QMacPasteboardMimeVCard::flavorFor(const QString &mime) { - if (mime.startsWith(QLatin1String("text/plain"))) + if (mime.startsWith(QLatin1String("text/vcard"))) return QLatin1String("public.vcard"); return QString(); } @@ -756,14 +756,14 @@ QString QMacPasteboardMimeVCard::flavorFor(const QString &mime) QString QMacPasteboardMimeVCard::mimeFor(QString flav) { if (flav == QLatin1String("public.vcard")) - return QLatin1String("text/plain"); + return QLatin1String("text/vcard"); return QString(); } QVariant QMacPasteboardMimeVCard::convertToMime(const QString &mime, QList data, QString) { QByteArray cards; - if (mime == QLatin1String("text/plain")) { + if (mime == QLatin1String("text/vcard")) { for (int i=0; i QMacPasteboardMimeVCard::convertFromMime(const QString &mime, QVariant data, QString) { QList ret; - if (mime == QLatin1String("text/plain")) + if (mime == QLatin1String("text/vcard")) ret.append(data.toString().toUtf8()); return ret; } -- cgit v1.2.3