I see many problems with the file references. - Files may not exist (especially when shared between different computers). - Files may be deleted/moved to trash/replaced
So certainly the current BDSKFile objects are not sufficient. Somehow a non-existing file should remember the aliasdata for saving, and an existing file should remember a (relative?) path in case it's removed. I think we need a subclass of BDSKFSRefFile and BDSKURLFile. Also the base path is a problem. For new databases there may not be a filename. And what is the base path for export/save as? And how is it passed to the file objects? I think when saving the base path should be the absoluteURL passed to the savetoURL:... method, not the current fileName. So somehow this needs to be remembered in an ivar (as writeToURL:... does not know it). Also copying items may be a problem. I think this could be solved by archiving file objects using an absolute path (as two files do not agree on the base path). But what about initially adding items to a new database? I think they should be represented by an FSRef and an absolute path (so the path in the new BDSKFile subclass should be absolute, or both relative and absolute). Another problem is dragging in the fileview. Is it possible to handle this through the datasource (as in NSTableView) rather than in FileView? The problem is that reordering should reorder the BDSKFile objects, rather than replacing them with new objects (particularly important for broken links). FileView only knows about the URL, not the BDSKFile objects. Also reordering should not trigger autofile, but currently it is impossible to see the difference between delete +add and move. Christiaan ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ Bibdesk-develop mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/bibdesk-develop
