20QAppleFileIconEngine::QAppleFileIconEngine(
const QFileInfo &info, QPlatformTheme::IconOptions opts)
21 : QAbstractFileIconEngine(info, opts)
23#if defined(Q_OS_MACOS)
24 m_image = [[NSWorkspace sharedWorkspace] iconForFile:fileInfo().canonicalFilePath().toNSString()];
25#elif defined(QT_PLATFORM_UIKIT)
26 const QUrl url = QUrl::fromLocalFile(fileInfo().canonicalFilePath());
27 const auto controller = [UIDocumentInteractionController interactionControllerWithURL:url.toNSURL()];
28 const auto allIcons = controller.icons;
29 m_image = allIcons.count > 0 ? [allIcons firstObject] : nil;
51QPixmap QAppleFileIconEngine::filePixmap(
const QSize &size, QIcon::Mode, QIcon::State)
56 const QSize preferredSize = QSize(m_image.size.width,
57 m_image.size.height).scaled(size, Qt::KeepAspectRatio);
59 if (m_pixmap.size() == preferredSize)
62#if defined(Q_OS_MACOS)
63 m_pixmap = qt_mac_toQPixmap(m_image, preferredSize);
64#elif defined(QT_PLATFORM_UIKIT)
65 m_pixmap = QPixmap::fromImage(qt_mac_toQImage(m_image, preferredSize));