From 42292a7968e3d03526fc31080991700dfddd310b Mon Sep 17 00:00:00 2001 From: Ruslan Timchenko Date: Tue, 7 Jul 2020 18:06:23 +0300 Subject: [PATCH] Updated for Swift 5 --- .../FilterShop.xcodeproj/project.pbxproj | 12 ++++++---- .../xcshareddata/IDEWorkspaceChecks.plist | 8 +++++++ .../UserInterfaceState.xcuserstate | Bin 0 -> 33425 bytes .../xcschemes/xcschememanagement.plist | 14 +++++++++++ FilterShop/FilterShop/FilterParameterVC.swift | 6 ++--- FilterShop/FilterShop/MediaDisplayView.swift | 11 +++++---- FilterShop/FilterShop/ViewController.swift | 22 +++++++++--------- 7 files changed, 49 insertions(+), 24 deletions(-) create mode 100644 FilterShop/FilterShop.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 FilterShop/FilterShop.xcodeproj/project.xcworkspace/xcuserdata/ruslantimchenko.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 FilterShop/FilterShop.xcodeproj/xcuserdata/ruslantimchenko.xcuserdatad/xcschemes/xcschememanagement.plist diff --git a/FilterShop/FilterShop.xcodeproj/project.pbxproj b/FilterShop/FilterShop.xcodeproj/project.pbxproj index 0e82d30..41eef31 100644 --- a/FilterShop/FilterShop.xcodeproj/project.pbxproj +++ b/FilterShop/FilterShop.xcodeproj/project.pbxproj @@ -121,7 +121,6 @@ TargetAttributes = { C8959EA31F6F377C006AC83B = { CreatedOnToolsVersion = 8.3.3; - DevelopmentTeam = L2UHX34QKF; ProvisioningStyle = Automatic; }; }; @@ -131,6 +130,7 @@ developmentRegion = English; hasScannedForEncodings = 0; knownRegions = ( + English, en, Base, ); @@ -231,6 +231,7 @@ SDKROOT = macosx; SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; }; name = Debug; }; @@ -273,6 +274,7 @@ MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = macosx; SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_VERSION = 5.0; }; name = Release; }; @@ -281,13 +283,13 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; COMBINE_HIDPI_IMAGES = YES; - DEVELOPMENT_TEAM = L2UHX34QKF; + DEVELOPMENT_TEAM = ""; INFOPLIST_FILE = FilterShop/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; MACOSX_DEPLOYMENT_TARGET = 10.10; PRODUCT_BUNDLE_IDENTIFIER = com.xueyu.FilterShop; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 3.0; + SWIFT_VERSION = 5.0; }; name = Debug; }; @@ -296,13 +298,13 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; COMBINE_HIDPI_IMAGES = YES; - DEVELOPMENT_TEAM = L2UHX34QKF; + DEVELOPMENT_TEAM = ""; INFOPLIST_FILE = FilterShop/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; MACOSX_DEPLOYMENT_TARGET = 10.10; PRODUCT_BUNDLE_IDENTIFIER = com.xueyu.FilterShop; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 3.0; + SWIFT_VERSION = 5.0; }; name = Release; }; diff --git a/FilterShop/FilterShop.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/FilterShop/FilterShop.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/FilterShop/FilterShop.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/FilterShop/FilterShop.xcodeproj/project.xcworkspace/xcuserdata/ruslantimchenko.xcuserdatad/UserInterfaceState.xcuserstate b/FilterShop/FilterShop.xcodeproj/project.xcworkspace/xcuserdata/ruslantimchenko.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..45625b412f7faa1ccf18e121903b8d792caff635 GIT binary patch literal 33425 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 Tc=*9_;lGWe@Zb8kUh)3{ya>KG literal 0 HcmV?d00001 diff --git a/FilterShop/FilterShop.xcodeproj/xcuserdata/ruslantimchenko.xcuserdatad/xcschemes/xcschememanagement.plist b/FilterShop/FilterShop.xcodeproj/xcuserdata/ruslantimchenko.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..c1167d9 --- /dev/null +++ b/FilterShop/FilterShop.xcodeproj/xcuserdata/ruslantimchenko.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,14 @@ + + + + + SchemeUserState + + FilterShop.xcscheme_^#shared#^_ + + orderHint + 0 + + + + diff --git a/FilterShop/FilterShop/FilterParameterVC.swift b/FilterShop/FilterShop/FilterParameterVC.swift index 88af86d..6f021f1 100644 --- a/FilterShop/FilterShop/FilterParameterVC.swift +++ b/FilterShop/FilterShop/FilterParameterVC.swift @@ -41,15 +41,15 @@ extension FilterParameterVC : NSTableViewDelegate, NSTableViewDataSource { func tableView(_ tableView: NSTableView, viewFor tableColumn: NSTableColumn?, row: Int) -> NSView? { - guard let view = tableView.make(withIdentifier: "cell", owner: self) as? NSTableCellView, + guard let view = tableView.makeView(withIdentifier: NSUserInterfaceItemIdentifier(rawValue: "cell"), owner: self) as? NSTableCellView, let key = filter?.inputKeys[row], let paraDict = filter?.attributes[key] as? [String: Any] else { return nil } - let colId = tableColumn?.identifier ?? "" + let colId = tableColumn?.identifier ?? NSUserInterfaceItemIdentifier(rawValue: "") var viewText = "" - switch colId { + switch colId.rawValue { case "name": viewText = key case "description": diff --git a/FilterShop/FilterShop/MediaDisplayView.swift b/FilterShop/FilterShop/MediaDisplayView.swift index a83274d..7a13120 100644 --- a/FilterShop/FilterShop/MediaDisplayView.swift +++ b/FilterShop/FilterShop/MediaDisplayView.swift @@ -7,6 +7,7 @@ // import Cocoa +import AppKit /// MediaDisplayView will be used to show the image /// It accepts drag and drop image @@ -47,7 +48,7 @@ class MediaDisplayView: NSView { } /// Options of the drag and drop eare, only receive images - let options = [NSPasteboardURLReadingContentsConformToTypesKey: NSImage.imageTypes()] + let options = [NSPasteboard.ReadingOptionKey.urlReadingContentsConformToTypes: NSImage.imageTypes] /// Set up ImageView and layer for filter override func draw(_ dirtyRect: NSRect) { @@ -61,12 +62,12 @@ class MediaDisplayView: NSView { NSColor.gray.setFill() - NSRectFill(dirtyRect) + dirtyRect.fill() } /// Register drag and drop, also unregister for imageView, since imageView support drag and drop naturally override func awakeFromNib() { - register(forDraggedTypes: [NSURLPboardType]) + registerForDraggedTypes([NSPasteboard.PasteboardType(kUTTypeURL as String)]) imageView.unregisterDraggedTypes() } @@ -76,7 +77,7 @@ class MediaDisplayView: NSView { func shouldAllowDrag(_ draggingInfo: NSDraggingInfo) -> Bool { var canAccept = false - let pasteBoard = draggingInfo.draggingPasteboard() + let pasteBoard = draggingInfo.draggingPasteboard if pasteBoard.canReadObject(forClasses: [ NSURL.self ], options: options) { canAccept = true @@ -107,7 +108,7 @@ class MediaDisplayView: NSView { override func performDragOperation(_ sender: NSDraggingInfo) -> Bool { isReceivingDrag = false - let pasteBoard = sender.draggingPasteboard() + let pasteBoard = sender.draggingPasteboard if let urls = pasteBoard.readObjects(forClasses: [NSURL.self], options: options) as? [URL], let fileUrl = urls.first { diff --git a/FilterShop/FilterShop/ViewController.swift b/FilterShop/FilterShop/ViewController.swift index e272225..7d240b3 100644 --- a/FilterShop/FilterShop/ViewController.swift +++ b/FilterShop/FilterShop/ViewController.swift @@ -70,9 +70,9 @@ class ViewController: NSViewController { */ @IBAction func deleteFilterTouched(_ sender: NSButton) { let idx = chosenFiltersTableView.row(for: sender) - + guard idx != -1 else { return } chosenFiltersTableView.beginUpdates() - chosenFilters.remove(at: idx) + chosenFilters.remove(at: idx == -1 ? 0 : idx) chosenFiltersTableView.removeRows(at: IndexSet(integer: idx), withAnimation: .effectFade) chosenFiltersTableView.endUpdates() @@ -115,7 +115,7 @@ class ViewController: NSViewController { guard let window = self.view.window else { return } openPanel.beginSheetModal(for: window) { (result) in - if result == NSModalResponseOK { + if result == .OK { if let url = openPanel.url { self.mediaView.imageUrl = url } @@ -131,7 +131,7 @@ class ViewController: NSViewController { // Help Menu Item @IBAction func helpMenuItemTouched(_ sender: NSMenuItem) { let url = URL(string: "https://github.com/KrisYu/FilterShop")! - NSWorkspace.shared().open(url) + NSWorkspace.shared.open(url) } @@ -140,19 +140,19 @@ class ViewController: NSViewController { */ @IBAction func saveAs(_ sender: AnyObject){ let savePanel = NSSavePanel() - saveOptions = IKSaveOptions(imageProperties: [:], imageUTType: kUTTypePNG as String!) + saveOptions = IKSaveOptions(imageProperties: [:], imageUTType: kUTTypePNG as String) saveOptions.addAccessoryView(to: savePanel) guard let window = self.view.window, let _ = mediaView.ciimage else { return } savePanel.beginSheetModal(for: window) { (result) in - if result == NSFileHandlingPanelOKButton { - self.savePanelDidEnd(sheet: savePanel, returnCode: result) + if result == .OK { + self.savePanelDidEnd(sheet: savePanel, returnCode: result.rawValue) } } } func savePanelDidEnd (sheet: NSSavePanel, returnCode: NSInteger) { - if returnCode == NSModalResponseOK { + if returnCode == NSApplication.ModalResponse.OK.rawValue { guard let newUTType = saveOptions.imageUTType as CFString?, let url = sheet.url as CFURL?, let cgimage = mediaView.export(filters: chosenFilters), @@ -189,7 +189,7 @@ extension ViewController: NSTableViewDelegate, NSTableViewDataSource { // cell display Category and Filter in a different way if filterName.hasPrefix("CICategory") { - guard let cell = tableView.make(withIdentifier: "CategoryCell", owner: self) as? NSTableCellView else { + guard let cell = tableView.makeView(withIdentifier: NSUserInterfaceItemIdentifier(rawValue: "CategoryCell"), owner: self) as? NSTableCellView else { return nil } @@ -197,7 +197,7 @@ extension ViewController: NSTableViewDelegate, NSTableViewDataSource { cell.textField?.stringValue = text return cell } else { - guard let cell = tableView.make(withIdentifier: "FilterCell", owner: self) as? NSTableCellView, + guard let cell = tableView.makeView(withIdentifier: NSUserInterfaceItemIdentifier(rawValue: "FilterCell"), owner: self) as? NSTableCellView, let text = CIFilter.localizedName(forFilterName: filterName) else { return nil } @@ -208,7 +208,7 @@ extension ViewController: NSTableViewDelegate, NSTableViewDataSource { let filterName = chosenFilters[row].name - guard let cell = tableView.make(withIdentifier: "chosenFilterCell", owner: self) as? NSTableCellView else { return nil } + guard let cell = tableView.makeView(withIdentifier: NSUserInterfaceItemIdentifier(rawValue: "chosenFilterCell"), owner: self) as? NSTableCellView else { return nil } // display the filter name in readable way cell.textField?.stringValue = CIFilter.localizedName(forFilterName: filterName) ?? "Unknown Filter"