diff --git a/src/Base.lproj/MainMenu.xib b/src/Base.lproj/MainMenu.xib index 78ec3c6..12fe162 100644 --- a/src/Base.lproj/MainMenu.xib +++ b/src/Base.lproj/MainMenu.xib @@ -160,7 +160,7 @@ - + diff --git a/src/Controller.swift b/src/Controller.swift index 67dc44a..7ebf205 100644 --- a/src/Controller.swift +++ b/src/Controller.swift @@ -191,6 +191,13 @@ class Controller: NSObject, NSApplicationDelegate { }) } + @IBAction func copy(_ sender: NSMenuItem) { + let pasteboard = NSPasteboard.general() + pasteboard.clearContents() + pasteboard.declareTypes([NSStringPboardType], owner: self) + pasteboard.setString(dataStorage.selection.joined(separator: ","), forType: NSStringPboardType) + } + @IBAction func toggleViewEdges(_ sender: NSMenuItem) { if let metalView = view as? MetalView { if metalView.viewEdges { diff --git a/src/DataStorage.swift b/src/DataStorage.swift index 39ebf44..0a45eee 100644 --- a/src/DataStorage.swift +++ b/src/DataStorage.swift @@ -69,6 +69,7 @@ class DataStorage: NSObject, NSOutlineViewDataSource, NSOutlineViewDelegate { } self.storeData(in: cityGMLParser) + cityGMLParser.clear() while self.view == nil { Thread.sleep(forTimeInterval: 0.01)