file://... URLs are recognised (or at least, recognised as easily as http URLs are). The file URL is then reformatted as a short name (file:///home/user/file.ext -> file.ext) and the appropriate icon displayed next to it. The link can be clicked to open the file in the default program (using xdg-open, as with other URLs).
File links are serialized as file://... URLs for storage and converted back on loading.
The automatic icon picking introduces a dependency on gnome.ui and gnomevfs. There are probably workarounds if this is unwanted.
This approach
* supports drag and drop of files
* introduces no new elements into the storage XML format
* is slightly more friendly than displaying file://... URLs in full (which can be done with about 3 line's worth of changes)
* requires no additional UI elements
I have written a brief implementation of this feature. See lp:~chronitis/gtg/file-attach for code.
file://... URLs are recognised (or at least, recognised as easily as http URLs are). The file URL is then reformatted as a short name (file:/ //home/ user/file. ext -> file.ext) and the appropriate icon displayed next to it. The link can be clicked to open the file in the default program (using xdg-open, as with other URLs).
File links are serialized as file://... URLs for storage and converted back on loading.
The automatic icon picking introduces a dependency on gnome.ui and gnomevfs. There are probably workarounds if this is unwanted.
This approach
* supports drag and drop of files
* introduces no new elements into the storage XML format
* is slightly more friendly than displaying file://... URLs in full (which can be done with about 3 line's worth of changes)
* requires no additional UI elements