From 9d7614a4037f98f26cb1bc0c5bf461c501b9cb2f Mon Sep 17 00:00:00 2001 From: NanoSector Date: Tue, 1 Nov 2022 19:55:51 +0100 Subject: [PATCH] feat: partially restore image paste handler functionality after SwiftUI rewrite Signed-off-by: NanoSector --- .../Scene/Compose/ComposeViewController.swift | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/Mastodon/Scene/Compose/ComposeViewController.swift b/Mastodon/Scene/Compose/ComposeViewController.swift index bf9145d6c..42945514d 100644 --- a/Mastodon/Scene/Compose/ComposeViewController.swift +++ b/Mastodon/Scene/Compose/ComposeViewController.swift @@ -1212,3 +1212,33 @@ extension ComposeViewController: UIAdaptivePresentationControllerDelegate { // } // //} + +extension ComposeViewController { + public override func canPerformAction(_ action: Selector, withSender sender: Any?) -> Bool { + + // Enable pasting images + if (action == #selector(UIResponderStandardEditActions.paste(_:))) { + return UIPasteboard.general.hasStrings || UIPasteboard.general.hasImages; + } + + return super.canPerformAction(action, withSender: sender); + } + + override func paste(_ sender: Any?) { + logger.debug("Paste event received") + + // Look for images on the clipboard + if (UIPasteboard.general.hasImages) { + if let images = UIPasteboard.general.images { + logger.warning("Got image paste event, however attachments are not yet re-implemented."); +// viewModel.attachmentServices = viewModel.attachmentServices + images.map({ image in +// MastodonAttachmentService( +// context: context, +// image: image, +// initialAuthenticationBox: viewModel.authenticationBox +// ) +// }) + } + } + } +}