diff --git a/AVRsack/ASFileTree.swift b/AVRsack/ASFileTree.swift index c4f8170..b68d6c5 100644 --- a/AVRsack/ASFileTree.swift +++ b/AVRsack/ASFileTree.swift @@ -162,7 +162,11 @@ class ASFileItem : ASFileNode { } init(_ prop: NSDictionary, withRootURL rootURL: NSURL) { type = ASFileType(rawValue: prop[kKindKey] as String)! - url = NSURL(string: prop[kPathKey] as NSString, relativeToURL: rootURL)!.standardizedURL! + if let relativeURL = NSURL(string: prop[kPathKey] as NSString, relativeToURL: rootURL) { + url = relativeURL.standardizedURL! + } else { + url = NSURL(fileURLWithPath: prop[kPathKey] as NSString)!.standardizedURL! + } } override func nodeName() -> String { return "📄 "+url.lastPathComponent diff --git a/AVRsack/ASProjDoc.swift b/AVRsack/ASProjDoc.swift index ecb87c1..fe1a4df 100644 --- a/AVRsack/ASProjDoc.swift +++ b/AVRsack/ASProjDoc.swift @@ -166,6 +166,7 @@ class ASProjDoc: NSDocument, NSOutlineViewDelegate, NSMenuDelegate { let filesInProject = NSFileManager.defaultManager().contentsOfDirectoryAtURL(url, includingPropertiesForKeys: nil, options: .SkipsHiddenFiles, error: nil)! + files.setProjectURL(fileURL!) for file in filesInProject { files.addFileURL(file as NSURL) } @@ -178,8 +179,8 @@ class ASProjDoc: NSDocument, NSOutlineViewDelegate, NSMenuDelegate { let projectURL = url.URLByDeletingPathExtension!.URLByAppendingPathExtension("avrsackproj") success = importProject(url.URLByDeletingLastPathComponent!, error: outError) if success { - files.setProjectURL(fileURL!) - builder.setProjectURL(fileURL!) + files.setProjectURL(projectURL) + builder.setProjectURL(projectURL) fileURL = projectURL success = writeToURL(projectURL, ofType: "Project", forSaveOperation: .SaveAsOperation, originalContentsURL: nil, error: outError) }