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

Reply via email to