From 2413efac0ec5f950be9c03dadb6a8fe281667b95 Mon Sep 17 00:00:00 2001 From: Matthew Davidson Date: Mon, 18 Jan 2021 21:39:43 +1100 Subject: [PATCH] Add more rich text pasteboard type exclusions. --- Yippy.xcodeproj/project.pbxproj | 20 +++++++++---------- .../Sources/Models/History/HistoryItem.swift | 10 +++++++++- 2 files changed, 19 insertions(+), 11 deletions(-) diff --git a/Yippy.xcodeproj/project.pbxproj b/Yippy.xcodeproj/project.pbxproj index c0da572..b6f319e 100644 --- a/Yippy.xcodeproj/project.pbxproj +++ b/Yippy.xcodeproj/project.pbxproj @@ -1332,7 +1332,7 @@ CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 1; + CURRENT_PROJECT_VERSION = 0; DEVELOPMENT_TEAM = HY8YZ2D6M7; ENABLE_HARDENED_RUNTIME = NO; INFOPLIST_FILE = "Yippy/Supporting Files/Info.plist"; @@ -1341,7 +1341,7 @@ "@executable_path/../Frameworks", ); MACOSX_DEPLOYMENT_TARGET = 10.13; - MARKETING_VERSION = 2.4.2; + MARKETING_VERSION = 2.5.0; PRODUCT_BUNDLE_IDENTIFIER = MatthewDavidson.Yippy; PRODUCT_MODULE_NAME = "$(PRODUCT_NAME:c99extidentifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -1358,7 +1358,7 @@ CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 1; + CURRENT_PROJECT_VERSION = 0; DEVELOPMENT_TEAM = HY8YZ2D6M7; ENABLE_HARDENED_RUNTIME = NO; INFOPLIST_FILE = "Yippy/Supporting Files/Info.plist"; @@ -1367,7 +1367,7 @@ "@executable_path/../Frameworks", ); MACOSX_DEPLOYMENT_TARGET = 10.13; - MARKETING_VERSION = 2.4.2; + MARKETING_VERSION = 2.5.0; PRODUCT_BUNDLE_IDENTIFIER = MatthewDavidson.Yippy; PRODUCT_MODULE_NAME = "$(PRODUCT_NAME:c99extidentifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -1532,7 +1532,7 @@ CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 1; + CURRENT_PROJECT_VERSION = 0; DEVELOPMENT_TEAM = HY8YZ2D6M7; ENABLE_HARDENED_RUNTIME = NO; INFOPLIST_FILE = "Yippy/Supporting Files/Info.plist"; @@ -1541,7 +1541,7 @@ "@executable_path/../Frameworks", ); MACOSX_DEPLOYMENT_TARGET = 10.13; - MARKETING_VERSION = 2.4.2; + MARKETING_VERSION = 2.5.0; PRODUCT_BUNDLE_IDENTIFIER = MatthewDavidson.YippyBeta; PRODUCT_MODULE_NAME = "$(PRODUCT_NAME:c99extidentifier)"; PRODUCT_NAME = "$(TARGET_NAME) Beta"; @@ -1657,7 +1657,7 @@ CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 1; + CURRENT_PROJECT_VERSION = 0; DEVELOPMENT_TEAM = HY8YZ2D6M7; ENABLE_HARDENED_RUNTIME = NO; INFOPLIST_FILE = "Yippy/Supporting Files/Info.plist"; @@ -1666,7 +1666,7 @@ "@executable_path/../Frameworks", ); MACOSX_DEPLOYMENT_TARGET = 10.13; - MARKETING_VERSION = 2.4.2; + MARKETING_VERSION = 2.5.0; PRODUCT_BUNDLE_IDENTIFIER = MatthewDavidson.YippyBeta; PRODUCT_MODULE_NAME = "$(PRODUCT_NAME:c99extidentifier)"; PRODUCT_NAME = "$(TARGET_NAME) Beta"; @@ -1789,7 +1789,7 @@ CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 1; + CURRENT_PROJECT_VERSION = 0; DEVELOPMENT_TEAM = HY8YZ2D6M7; ENABLE_HARDENED_RUNTIME = NO; INFOPLIST_FILE = "Yippy/Supporting Files/Info.plist"; @@ -1798,7 +1798,7 @@ "@executable_path/../Frameworks", ); MACOSX_DEPLOYMENT_TARGET = 10.13; - MARKETING_VERSION = 2.4.2; + MARKETING_VERSION = 2.5.0; PRODUCT_BUNDLE_IDENTIFIER = MatthewDavidson.YippyXCTest; PRODUCT_MODULE_NAME = "$(PRODUCT_NAME:c99extidentifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; diff --git a/Yippy/Sources/Models/History/HistoryItem.swift b/Yippy/Sources/Models/History/HistoryItem.swift index 001cb76..6167f13 100644 --- a/Yippy/Sources/Models/History/HistoryItem.swift +++ b/Yippy/Sources/Models/History/HistoryItem.swift @@ -222,12 +222,20 @@ class HistoryItem: NSObject { } return false } + + private let richTextPasteboardTypes = [ + NSPasteboard.PasteboardType.rtf.rawValue, + NSPasteboard.PasteboardType.html.rawValue, + "public.utf16-external-plain-text", + ] } // MARK: - HistoryItem+NSPasteboardWriting extension HistoryItem: NSPasteboardWriting { func writableTypes(for pasteboard: NSPasteboard) -> [NSPasteboard.PasteboardType] { - return types.filter{ HistoryItem.pastesRichText || $0 != .rtf } + [Self.historyItemIdType] + return types.filter{ + HistoryItem.pastesRichText || !richTextPasteboardTypes.contains($0.rawValue) + } + [Self.historyItemIdType] } func pasteboardPropertyList(forType type: NSPasteboard.PasteboardType) -> Any? {