Clean up QMacInternalPasteboardMime: remove convertorName
The function was primarily called to generate debug output. The only other usage was to identify the Rtf converter so that we can avoid that we convert outgoing HTML to RTF. This is just as easily (and more accurately) done by skipping any converter that converts HTML to RTF. Task-number: QTBUG-93632 Change-Id: Ibe5bdece982399e2d9823f6df67393d1f81501fe Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>bb10
parent
d5300a6d2a
commit
3d6a89c5cc
|
|
@ -115,8 +115,6 @@ class QMacPasteboardMimeAny : public QMacInternalPasteboardMime {
|
|||
public:
|
||||
QMacPasteboardMimeAny() : QMacInternalPasteboardMime(MIME_ALL_COMPATIBLE) {}
|
||||
|
||||
QString convertorName();
|
||||
|
||||
QString flavorFor(const QString &mime);
|
||||
QString mimeFor(QString flav);
|
||||
bool canConvert(const QString &mime, QString flav);
|
||||
|
|
@ -124,11 +122,6 @@ public:
|
|||
QList<QByteArray> convertFromMime(const QString &mime, QVariant data, QString flav);
|
||||
};
|
||||
|
||||
QString QMacPasteboardMimeAny::convertorName()
|
||||
{
|
||||
return "Any-Mime"_L1;
|
||||
}
|
||||
|
||||
QString QMacPasteboardMimeAny::flavorFor(const QString &mime)
|
||||
{
|
||||
// do not handle the mime type name in the drag pasteboard
|
||||
|
|
@ -179,8 +172,6 @@ private:
|
|||
public:
|
||||
QMacPasteboardMimeTypeName(): QMacInternalPasteboardMime(MIME_ALL_COMPATIBLE) {}
|
||||
|
||||
QString convertorName();
|
||||
|
||||
QString flavorFor(const QString &mime);
|
||||
QString mimeFor(QString flav);
|
||||
bool canConvert(const QString &mime, QString flav);
|
||||
|
|
@ -188,11 +179,6 @@ public:
|
|||
QList<QByteArray> convertFromMime(const QString &mime, QVariant data, QString flav);
|
||||
};
|
||||
|
||||
QString QMacPasteboardMimeTypeName::convertorName()
|
||||
{
|
||||
return u"Qt-Mime-Type"_s;
|
||||
}
|
||||
|
||||
QString QMacPasteboardMimeTypeName::flavorFor(const QString &mime)
|
||||
{
|
||||
if (mime == "application/x-qt-mime-type-name"_L1)
|
||||
|
|
@ -226,7 +212,6 @@ QList<QByteArray> QMacPasteboardMimeTypeName::convertFromMime(const QString &, Q
|
|||
class QMacPasteboardMimePlainTextFallback : public QMacInternalPasteboardMime {
|
||||
public:
|
||||
QMacPasteboardMimePlainTextFallback() : QMacInternalPasteboardMime(MIME_ALL) {}
|
||||
QString convertorName();
|
||||
|
||||
QString flavorFor(const QString &mime);
|
||||
QString mimeFor(QString flav);
|
||||
|
|
@ -235,11 +220,6 @@ public:
|
|||
QList<QByteArray> convertFromMime(const QString &mime, QVariant data, QString flav);
|
||||
};
|
||||
|
||||
QString QMacPasteboardMimePlainTextFallback::convertorName()
|
||||
{
|
||||
return "PlainText (public.text)"_L1;
|
||||
}
|
||||
|
||||
QString QMacPasteboardMimePlainTextFallback::flavorFor(const QString &mime)
|
||||
{
|
||||
if (mime == "text/plain"_L1)
|
||||
|
|
@ -289,7 +269,6 @@ QList<QByteArray> QMacPasteboardMimePlainTextFallback::convertFromMime(const QSt
|
|||
class QMacPasteboardMimeUnicodeText : public QMacInternalPasteboardMime {
|
||||
public:
|
||||
QMacPasteboardMimeUnicodeText() : QMacInternalPasteboardMime(MIME_ALL) {}
|
||||
QString convertorName();
|
||||
|
||||
QString flavorFor(const QString &mime);
|
||||
QString mimeFor(QString flav);
|
||||
|
|
@ -298,11 +277,6 @@ public:
|
|||
QList<QByteArray> convertFromMime(const QString &mime, QVariant data, QString flav);
|
||||
};
|
||||
|
||||
QString QMacPasteboardMimeUnicodeText::convertorName()
|
||||
{
|
||||
return "UnicodeText"_L1;
|
||||
}
|
||||
|
||||
QString QMacPasteboardMimeUnicodeText::flavorFor(const QString &mime)
|
||||
{
|
||||
if (mime == "text/plain"_L1)
|
||||
|
|
@ -381,7 +355,6 @@ QList<QByteArray> QMacPasteboardMimeUnicodeText::convertFromMime(const QString &
|
|||
class QMacPasteboardMimeHTMLText : public QMacInternalPasteboardMime {
|
||||
public:
|
||||
QMacPasteboardMimeHTMLText() : QMacInternalPasteboardMime(MIME_ALL) {}
|
||||
QString convertorName();
|
||||
|
||||
QString flavorFor(const QString &mime);
|
||||
QString mimeFor(QString flav);
|
||||
|
|
@ -390,11 +363,6 @@ public:
|
|||
QList<QByteArray> convertFromMime(const QString &mime, QVariant data, QString flav);
|
||||
};
|
||||
|
||||
QString QMacPasteboardMimeHTMLText::convertorName()
|
||||
{
|
||||
return "HTML"_L1;
|
||||
}
|
||||
|
||||
QString QMacPasteboardMimeHTMLText::flavorFor(const QString &mime)
|
||||
{
|
||||
if (mime == "text/html"_L1)
|
||||
|
|
@ -435,7 +403,6 @@ QList<QByteArray> QMacPasteboardMimeHTMLText::convertFromMime(const QString &mim
|
|||
class QMacPasteboardMimeRtfText : public QMacInternalPasteboardMime {
|
||||
public:
|
||||
QMacPasteboardMimeRtfText() : QMacInternalPasteboardMime(MIME_ALL) {}
|
||||
QString convertorName();
|
||||
|
||||
QString flavorFor(const QString &mime);
|
||||
QString mimeFor(QString flav);
|
||||
|
|
@ -444,11 +411,6 @@ public:
|
|||
QList<QByteArray> convertFromMime(const QString &mime, QVariant data, QString flav);
|
||||
};
|
||||
|
||||
QString QMacPasteboardMimeRtfText::convertorName()
|
||||
{
|
||||
return "Rtf"_L1;
|
||||
}
|
||||
|
||||
QString QMacPasteboardMimeRtfText::flavorFor(const QString &mime)
|
||||
{
|
||||
if (mime == "text/html"_L1)
|
||||
|
|
@ -510,7 +472,6 @@ QList<QByteArray> QMacPasteboardMimeRtfText::convertFromMime(const QString &mime
|
|||
class QMacPasteboardMimeFileUri : public QMacInternalPasteboardMime {
|
||||
public:
|
||||
QMacPasteboardMimeFileUri() : QMacInternalPasteboardMime(MIME_ALL) {}
|
||||
QString convertorName();
|
||||
|
||||
QString flavorFor(const QString &mime);
|
||||
QString mimeFor(QString flav);
|
||||
|
|
@ -520,11 +481,6 @@ public:
|
|||
int count(QMimeData *mimeData);
|
||||
};
|
||||
|
||||
QString QMacPasteboardMimeFileUri::convertorName()
|
||||
{
|
||||
return "FileURL"_L1;
|
||||
}
|
||||
|
||||
QString QMacPasteboardMimeFileUri::flavorFor(const QString &mime)
|
||||
{
|
||||
if (mime == "text/uri-list"_L1)
|
||||
|
|
@ -600,7 +556,6 @@ int QMacPasteboardMimeFileUri::count(QMimeData *mimeData)
|
|||
class QMacPasteboardMimeUrl : public QMacInternalPasteboardMime {
|
||||
public:
|
||||
QMacPasteboardMimeUrl() : QMacInternalPasteboardMime(MIME_ALL) {}
|
||||
QString convertorName();
|
||||
|
||||
QString flavorFor(const QString &mime);
|
||||
QString mimeFor(QString flav);
|
||||
|
|
@ -609,11 +564,6 @@ public:
|
|||
QList<QByteArray> convertFromMime(const QString &mime, QVariant data, QString flav);
|
||||
};
|
||||
|
||||
QString QMacPasteboardMimeUrl::convertorName()
|
||||
{
|
||||
return "URL"_L1;
|
||||
}
|
||||
|
||||
QString QMacPasteboardMimeUrl::flavorFor(const QString &mime)
|
||||
{
|
||||
if (mime.startsWith("text/uri-list"_L1))
|
||||
|
|
@ -675,7 +625,6 @@ class QMacPasteboardMimeVCard : public QMacInternalPasteboardMime
|
|||
{
|
||||
public:
|
||||
QMacPasteboardMimeVCard() : QMacInternalPasteboardMime(MIME_ALL) {}
|
||||
QString convertorName();
|
||||
|
||||
QString flavorFor(const QString &mime);
|
||||
QString mimeFor(QString flav);
|
||||
|
|
@ -684,11 +633,6 @@ public:
|
|||
QList<QByteArray> convertFromMime(const QString &mime, QVariant data, QString flav);
|
||||
};
|
||||
|
||||
QString QMacPasteboardMimeVCard::convertorName()
|
||||
{
|
||||
return "VCard"_L1;
|
||||
}
|
||||
|
||||
bool QMacPasteboardMimeVCard::canConvert(const QString &mime, QString flav)
|
||||
{
|
||||
return mimeFor(flav) == mime;
|
||||
|
|
@ -732,7 +676,6 @@ extern CGImageRef qt_mac_toCGImage(const QImage &qImage);
|
|||
class QMacPasteboardMimeTiff : public QMacInternalPasteboardMime {
|
||||
public:
|
||||
QMacPasteboardMimeTiff() : QMacInternalPasteboardMime(MIME_ALL) {}
|
||||
QString convertorName();
|
||||
|
||||
QString flavorFor(const QString &mime);
|
||||
QString mimeFor(QString flav);
|
||||
|
|
@ -741,11 +684,6 @@ public:
|
|||
QList<QByteArray> convertFromMime(const QString &mime, QVariant data, QString flav);
|
||||
};
|
||||
|
||||
QString QMacPasteboardMimeTiff::convertorName()
|
||||
{
|
||||
return "Tiff"_L1;
|
||||
}
|
||||
|
||||
QString QMacPasteboardMimeTiff::flavorFor(const QString &mime)
|
||||
{
|
||||
if (mime.startsWith("application/x-qt-image"_L1))
|
||||
|
|
@ -827,14 +765,6 @@ void registerBuiltInTypes()
|
|||
|
||||
}
|
||||
|
||||
/*
|
||||
\fn QString QMacPasteboardMime::convertorName()
|
||||
|
||||
Returns a name for the convertor.
|
||||
|
||||
All subclasses must reimplement this pure virtual function.
|
||||
*/
|
||||
|
||||
/*
|
||||
\fn bool QMacPasteboardMime::canConvert(const QString &mime, QString flav)
|
||||
|
||||
|
|
|
|||
|
|
@ -40,8 +40,6 @@ public:
|
|||
|
||||
char type() const { return m_type; }
|
||||
|
||||
virtual QString convertorName() = 0;
|
||||
|
||||
virtual bool canConvert(const QString &mime, QString flav) = 0;
|
||||
virtual QString mimeFor(QString flav) = 0;
|
||||
virtual QString flavorFor(const QString &mime) = 0;
|
||||
|
|
|
|||
|
|
@ -87,9 +87,8 @@ QMacInternalPasteboardMime *convertor(uchar t, const QString &mime, QString flav
|
|||
MimeList *mimes = globalMimeList();
|
||||
for (MimeList::const_iterator it = mimes->constBegin(); it != mimes->constEnd(); ++it) {
|
||||
#ifdef DEBUG_MIME_MAPS
|
||||
qDebug("QMacMimeRegistry::convertor: seeing if %s (%d) can convert %s to %s [%d]",
|
||||
qPrintable((*it)->convertorName()), (*it)->type() & t, qPrintable(mime),
|
||||
qPrintable(flav), (*it)->canConvert(mime,flav));
|
||||
qDebug("QMacMimeRegistry::convertor: seeing if converter(%d) can convert %s to %s [%d]",
|
||||
(*it)->type() & t, qPrintable(mime), qPrintable(flav), (*it)->canConvert(mime,flav));
|
||||
#endif
|
||||
if (((*it)->type() & t) && (*it)->canConvert(mime, flav))
|
||||
return (*it);
|
||||
|
|
@ -104,9 +103,8 @@ QString flavorToMime(uchar t, QString flav)
|
|||
MimeList *mimes = globalMimeList();
|
||||
for (MimeList::const_iterator it = mimes->constBegin(); it != mimes->constEnd(); ++it) {
|
||||
#ifdef DEBUG_MIME_MAPS
|
||||
qDebug("QMacMimeRegistry::flavorToMime: attempting %s (%d) for flavor %s [%s]",
|
||||
qPrintable((*it)->convertorName()), (*it)->type() & t, qPrintable(flav),
|
||||
qPrintable((*it)->mimeFor(flav)));
|
||||
qDebug("QMacMimeRegistry::flavorToMime: attempting (%d) for flavor %s [%s]",
|
||||
(*it)->type() & t, qPrintable(flav), qPrintable((*it)->mimeFor(flav)));
|
||||
#endif
|
||||
if ((*it)->type() & t) {
|
||||
QString mimeType = (*it)->mimeFor(flav);
|
||||
|
|
|
|||
|
|
@ -15,7 +15,6 @@ using namespace Qt::StringLiterals;
|
|||
class QMacPasteboardMimeTraditionalMacPlainText : public QMacInternalPasteboardMime {
|
||||
public:
|
||||
QMacPasteboardMimeTraditionalMacPlainText() : QMacInternalPasteboardMime(MIME_ALL) { }
|
||||
QString convertorName();
|
||||
|
||||
QString flavorFor(const QString &mime);
|
||||
QString mimeFor(QString flav);
|
||||
|
|
@ -24,11 +23,6 @@ public:
|
|||
QList<QByteArray> convertFromMime(const QString &mime, QVariant data, QString flav);
|
||||
};
|
||||
|
||||
QString QMacPasteboardMimeTraditionalMacPlainText::convertorName()
|
||||
{
|
||||
return "PlainText (traditional-mac-plain-text)"_L1;
|
||||
}
|
||||
|
||||
QString QMacPasteboardMimeTraditionalMacPlainText::flavorFor(const QString &mime)
|
||||
{
|
||||
if (mime == "text/plain"_L1)
|
||||
|
|
|
|||
|
|
@ -169,8 +169,8 @@ OSStatus QMacPasteboard::promiseKeeper(PasteboardRef paste, PasteboardItemID id,
|
|||
return cantGetFlavorErr;
|
||||
}
|
||||
|
||||
qCDebug(lcQpaClipboard, "PasteBoard: Calling in promise for %s[%ld] [%s] (%s) [%d]", qPrintable(promise.mime), promise_id,
|
||||
qPrintable(flavorAsQString), qPrintable(promise.convertor->convertorName()), promise.offset);
|
||||
qCDebug(lcQpaClipboard, "PasteBoard: Calling in promise for %s[%ld] [%s] [%d]", qPrintable(promise.mime), promise_id,
|
||||
qPrintable(flavorAsQString), promise.offset);
|
||||
|
||||
// Get the promise data. If this is a "lazy" promise call variantData()
|
||||
// to request the data from the application.
|
||||
|
|
@ -321,7 +321,7 @@ QMacPasteboard::setMimeData(QMimeData *mime_src, DataRequestType dataRequestType
|
|||
// Hack: The Rtf handler converts incoming Rtf to Html. We do
|
||||
// not want to convert outgoing Html to Rtf but instead keep
|
||||
// posting it as Html. Skip the Rtf handler here.
|
||||
if (c->convertorName() == "Rtf"_L1)
|
||||
if (c->flavorFor("text/html"_L1) == "public.rtf"_L1)
|
||||
continue;
|
||||
QString flavor(c->flavorFor(mimeType));
|
||||
if (!flavor.isEmpty()) {
|
||||
|
|
@ -337,8 +337,8 @@ QMacPasteboard::setMimeData(QMimeData *mime_src, DataRequestType dataRequestType
|
|||
QMacPasteboard::Promise promise(itemID, c, mimeType, mimeData, item, dataRequestType);
|
||||
promises.append(promise);
|
||||
PasteboardPutItemFlavor(paste, reinterpret_cast<PasteboardItemID>(itemID), QCFString(flavor), 0, kPasteboardFlavorNoFlags);
|
||||
qCDebug(lcQpaClipboard, " - adding %ld %s [%s] <%s> [%d]",
|
||||
itemID, qPrintable(mimeType), qPrintable(flavor), qPrintable(c->convertorName()), item);
|
||||
qCDebug(lcQpaClipboard, " - adding %ld %s [%s] [%d]",
|
||||
itemID, qPrintable(mimeType), qPrintable(flavor), item);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -469,14 +469,14 @@ QMacPasteboard::retrieveData(const QString &format, QMetaType) const
|
|||
if (PasteboardCopyItemFlavorData(paste, id, flavor, &macBuffer) == noErr) {
|
||||
QByteArray buffer((const char *)CFDataGetBytePtr(macBuffer), CFDataGetLength(macBuffer));
|
||||
if (!buffer.isEmpty()) {
|
||||
qCDebug(lcQpaClipboard, " - %s [%s] (%s)", qPrintable(format), qPrintable(c_flavor), qPrintable(c->convertorName()));
|
||||
qCDebug(lcQpaClipboard, " - %s [%s]", qPrintable(format), qPrintable(c_flavor));
|
||||
buffer.detach(); //detach since we release the macBuffer
|
||||
retList.append(buffer);
|
||||
break; //skip to next element
|
||||
}
|
||||
}
|
||||
} else {
|
||||
qCDebug(lcQpaClipboard, " - NoMatch %s [%s] (%s)", qPrintable(c_flavor), qPrintable(QString::fromCFString(flavor)), qPrintable(c->convertorName()));
|
||||
qCDebug(lcQpaClipboard, " - NoMatch %s [%s]", qPrintable(c_flavor), qPrintable(QString::fromCFString(flavor)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue