From 3d6a89c5cc30e12d694ecd6566cd7672e260c6f9 Mon Sep 17 00:00:00 2001 From: Volker Hilsheimer Date: Mon, 31 Oct 2022 17:29:05 +0100 Subject: [PATCH] Clean up QMacInternalPasteboardMime: remove convertorName MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Reviewed-by: Tor Arne Vestbø --- src/gui/platform/darwin/qmacmime.mm | 70 ------------------- src/gui/platform/darwin/qmacmime_p.h | 2 - src/gui/platform/darwin/qmacmimeregistry.mm | 10 ++- .../platforms/cocoa/qcocoamimetypes.mm | 6 -- src/plugins/platforms/cocoa/qmacclipboard.mm | 14 ++-- 5 files changed, 11 insertions(+), 91 deletions(-) diff --git a/src/gui/platform/darwin/qmacmime.mm b/src/gui/platform/darwin/qmacmime.mm index f5b571af1d..cf43c7b95a 100644 --- a/src/gui/platform/darwin/qmacmime.mm +++ b/src/gui/platform/darwin/qmacmime.mm @@ -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 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 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 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 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 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 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 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 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 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 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 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 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 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 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) diff --git a/src/gui/platform/darwin/qmacmime_p.h b/src/gui/platform/darwin/qmacmime_p.h index 0f90ec379f..f169063b93 100644 --- a/src/gui/platform/darwin/qmacmime_p.h +++ b/src/gui/platform/darwin/qmacmime_p.h @@ -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; diff --git a/src/gui/platform/darwin/qmacmimeregistry.mm b/src/gui/platform/darwin/qmacmimeregistry.mm index 20628535cc..bf69a117b2 100644 --- a/src/gui/platform/darwin/qmacmimeregistry.mm +++ b/src/gui/platform/darwin/qmacmimeregistry.mm @@ -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); diff --git a/src/plugins/platforms/cocoa/qcocoamimetypes.mm b/src/plugins/platforms/cocoa/qcocoamimetypes.mm index 6a8a57d9a1..84eeb02e69 100644 --- a/src/plugins/platforms/cocoa/qcocoamimetypes.mm +++ b/src/plugins/platforms/cocoa/qcocoamimetypes.mm @@ -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 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) diff --git a/src/plugins/platforms/cocoa/qmacclipboard.mm b/src/plugins/platforms/cocoa/qmacclipboard.mm index 5287638d80..6adc2ce145 100644 --- a/src/plugins/platforms/cocoa/qmacclipboard.mm +++ b/src/plugins/platforms/cocoa/qmacclipboard.mm @@ -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(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))); } } }