Postponed all work on the icon view for now, and been working on the volume manager and the trash implementation for the last 2 days. As initially planned, the
ThunarFile class is now an abstract base class and the
ThunarFolder class will be turned into an interface or an abstract base class as well. In addition, the
ThunarFile class won't export the associated
ThunarVfsInfo (which is now only associated with
ThunarLocalFile instances). This way we don't limit ourselves to file implementations, which are more or less based on
stat(2) directly. For example, there will be virtual files, like the trash can itself, and forward files like the trashed files. You could even imagine another class that handles locations other than
trash:// using GnomeVFS, to provide support for network file systems and such. But that is an optional gimmick and not important right now.
While working on the trash classes, I was testing the basics when I realized that the far-from-being-complete implementation of the
ThunarTrashFile and the not yet adjusted
ThunarFolder class lead to an interesting effect:
I was pretty confused to see this working on first sight. My bet was that it would crash right away. But of course, it had to work that way. Anyway, not the expected behaviour from a user's point of view, but it looks just too weird to not post the screenshot here.