diff --git a/AVRsack/ASFileTree.swift b/AVRsack/ASFileTree.swift index 2651874..f35526b 100644 --- a/AVRsack/ASFileTree.swift +++ b/AVRsack/ASFileTree.swift @@ -79,6 +79,9 @@ class ASFileNode { func paths(rootPath: NSString) -> [NSString] { return [NSString]() } + func exists() -> Bool { + return true + } } class ASLogNode : ASFileNode { @@ -200,6 +203,9 @@ class ASFileItem : ASFileNode { override func paths(rootPath: NSString) -> [NSString] { return [relativePath(rootPath)] } + override func exists() -> Bool { + return url.checkResourceIsReachableAndReturnError(nil) + } } class ASFileTree : NSObject, NSOutlineViewDataSource { diff --git a/AVRsack/ASProjDoc.swift b/AVRsack/ASProjDoc.swift index fe3970d..270ab98 100644 --- a/AVRsack/ASProjDoc.swift +++ b/AVRsack/ASProjDoc.swift @@ -279,10 +279,16 @@ class ASProjDoc: NSDocument, NSOutlineViewDelegate, NSMenuDelegate { updateChangeCount(.ChangeDone) } func outlineView(outlineView: NSOutlineView, willDisplayCell cell: AnyObject, forTableColumn tableColumn: NSTableColumn?, item: AnyObject) { - if item === files.root || item === files.buildLog || item === files.uploadLog || item === files.disassembly { - (cell as NSCell).font = NSFont.boldSystemFontOfSize(13.0) - } else { - (cell as NSCell).font = NSFont.systemFontOfSize(13.0) + if let textCell = cell as? NSTextFieldCell { + textCell.textColor = NSColor.blackColor() + if item === files.root || item === files.buildLog || item === files.uploadLog || item === files.disassembly { + textCell.font = NSFont.boldSystemFontOfSize(13.0) + } else { + textCell.font = NSFont.systemFontOfSize(13.0) + if !(item as ASFileNode).exists() { + textCell.textColor = NSColor.redColor() + } + } } }