This also restructures the meaning of MyGUI and MyView.
They are now more strictly a hierarchy and everything that may
be specific to a view (like urlBar) has been moved into the MyView
context.
In addition, this also fixes#42
We have now ditched AnchoredFile and just use File with Path Abs
in the path field.
This is useful since we now:
* don't allow "." or ".." as filenames anymore
* normalise paths in our path parsers and reject paths with ".."
This also allows us to know that filepaths are always valid. In addition
the 'basename' function from hpath may throw an exception if run
on the root dir "/". This exception is basically uncatched currently,
which is fine, because it's not a selectable directory.
We now don't safe an AnchoredFile anymore, but a Path and
construct the AnchoredFile just before the operation is carried out.
This means the copy and move buffers cannot contain stale references
to files that don't exist anymore.
If the right click happens on an item that is already selected,
don't pass on the signal so the selection which may span across
multiple files is kept.
Otherwise, pass on the signal which means the item under the cursor
will be selected.
This currently misbehaves (as in: doesn't work) with IconView
properly.
This could theoretically lead to infinite recursion, but only
in case "/" is inaccessible or something. In which case the user
has really bigger problems.