diff options
author | Volker Hilsheimer <volker.hilsheimer@qt.io> | 2022-10-31 17:01:43 +0100 |
---|---|---|
committer | Volker Hilsheimer <volker.hilsheimer@qt.io> | 2022-11-03 17:29:08 +0100 |
commit | d5300a6d2a7a67a27717ceef07c9113a0afe10c2 (patch) | |
tree | 2a3968f6aae9f0bf073e74b2097ac788bfa3e719 /src/plugins/platforms/ios | |
parent | c5d4de1557d6e34a84aa6b3f289605630a3c0bdb (diff) |
Refactor: split QMacMime registry and virtual interface
The logic for registration of converter implementations is only used
internally through static functions. Move those, and related global
functions, to a QMacMimeRegistry namespace.
Reduce the QMacInternalPasteboardMime to the abstract interface for
converting between native and Qt clipboard data.
Historically, mime converters can have different "types"; make that API
type-safe.
Task-number: QTBUG-93632
Change-Id: I0e16fefa350398b693486199fe10357fd84abcd6
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Diffstat (limited to 'src/plugins/platforms/ios')
-rw-r--r-- | src/plugins/platforms/ios/qiosclipboard.mm | 7 | ||||
-rw-r--r-- | src/plugins/platforms/ios/qiosintegration.mm | 5 |
2 files changed, 7 insertions, 5 deletions
diff --git a/src/plugins/platforms/ios/qiosclipboard.mm b/src/plugins/platforms/ios/qiosclipboard.mm index 554c3ca118..62a9061086 100644 --- a/src/plugins/platforms/ios/qiosclipboard.mm +++ b/src/plugins/platforms/ios/qiosclipboard.mm @@ -6,6 +6,7 @@ #ifndef QT_NO_CLIPBOARD #include <QtCore/qurl.h> +#include <QtGui/private/qmacmimeregistry_p.h> #include <QtGui/private/qmacmime_p.h> #include <QtCore/QMimeData> #include <QtGui/QGuiApplication> @@ -116,7 +117,7 @@ QStringList QIOSMimeData::formats() const for (NSUInteger i = 0; i < [pasteboardTypes count]; ++i) { QString uti = QString::fromNSString([pasteboardTypes objectAtIndex:i]); - QString mimeType = QMacInternalPasteboardMime::flavorToMime(QMacInternalPasteboardMime::MIME_ALL, uti); + QString mimeType = QMacMimeRegistry::flavorToMime(QMacInternalPasteboardMime::MIME_ALL, uti); if (!mimeType.isEmpty() && !foundMimeTypes.contains(mimeType)) foundMimeTypes << mimeType; } @@ -130,7 +131,7 @@ QVariant QIOSMimeData::retrieveData(const QString &mimeType, QMetaType) const NSArray<NSString *> *pasteboardTypes = [pb pasteboardTypes]; foreach (QMacInternalPasteboardMime *converter, - QMacInternalPasteboardMime::all(QMacInternalPasteboardMime::MIME_ALL)) { + QMacMimeRegistry::all(QMacInternalPasteboardMime::MIME_ALL)) { if (!converter->canConvert(mimeType, converter->flavorFor(mimeType))) continue; @@ -185,7 +186,7 @@ void QIOSClipboard::setMimeData(QMimeData *mimeData, QClipboard::Mode mode) foreach (const QString &mimeType, mimeData->formats()) { foreach (QMacInternalPasteboardMime *converter, - QMacInternalPasteboardMime::all(QMacInternalPasteboardMime::MIME_ALL)) { + QMacMimeRegistry::all(QMacInternalPasteboardMime::MIME_ALL)) { QString uti = converter->flavorFor(mimeType); if (uti.isEmpty() || !converter->canConvert(mimeType, uti)) continue; diff --git a/src/plugins/platforms/ios/qiosintegration.mm b/src/plugins/platforms/ios/qiosintegration.mm index 84caccc267..244b182f65 100644 --- a/src/plugins/platforms/ios/qiosintegration.mm +++ b/src/plugins/platforms/ios/qiosintegration.mm @@ -24,6 +24,7 @@ #include <qpa/qplatformoffscreensurface.h> #include <QtGui/private/qcoretextfontdatabase_p.h> +#include <QtGui/private/qmacmimeregistry_p.h> #include <QtGui/private/qmacmime_p.h> #include <QDir> #include <QOperatingSystemVersion> @@ -89,7 +90,7 @@ void QIOSIntegration::initialize() #if QT_CONFIG(tabletevent) QWindowSystemInterfacePrivate::TabletEvent::setPlatformSynthesizesMouse(false); #endif - QMacInternalPasteboardMime::initializeMimeTypes(); + QMacMimeRegistry::initializeMimeTypes(); qsizetype size = QList<QPluginParsedMetaData>(m_optionalPlugins->metaData()).size(); for (qsizetype i = 0; i < size; ++i) @@ -105,7 +106,7 @@ QIOSIntegration::~QIOSIntegration() delete m_clipboard; m_clipboard = 0; #endif - QMacInternalPasteboardMime::destroyMimeTypes(); + QMacMimeRegistry::destroyMimeTypes(); delete m_inputContext; m_inputContext = 0; |