freenet/fred-staging — pull request #72 by Thynix (2011-11-27 17:57:51+00:00)
Title: Disk Browser Fixes

* Fixes [bug #3994](https://bugs.freenetproject.org/view.php?id=3994) by removing state from the browser. If for whatever reason the path is not specified, each browser type has a default directory to attempt to access.
* Adds null checks to hopefully address [bug #3595](https://bugs.freenetproject.org/view.php?id=3595), though as there aren't steps to reproduce, I'm not sure.
* Each browser type now correctly checks whether operations in that directory are allowed, rather than the previous version only ever checking if upload was allowed.
* Buttons (and their rows) that would interact with disallowed directories are not rendered.

One shortcoming of this is that if allowed directories are disconnected (ex. download directories are /home/user/Downloads and /home/user/Documents), there is no way to get from one to the other. TheSeeker recommended that in this case the browser present a virtual top-level directory that lists all the available directories. This is an excellent idea, but this break is quickly winding down, so I won't have time to implement it now. These fixes should be enough on their own though.