Hi,

For the last two weeks I've been implementing a column view for
nautilus.  Most things are working well at this point with mostly hooking up
preferences and a just discovered drag and drop issue and the issues in this
email left before all functionality is basically working and just bug fixing
and tweaking.  It's to a point where I am using it now as my default view.
The real difficulty in implementing a column view is the fact that
FMDirectoryView seems to be more designed for view that only show a single
directory at a time.  This used to always be the case but since the combined
list/tree view it no longer is.  When the new listview was implemented some
functionality was added so that multi-directories views could exist.

The biggest problem is that there is no way (that I know of) to change the
location from the view (so the pathbar updates) besides to use
NautilusWindowInfo and the open_location call.  This works but has the side
effect that it resets the current view so all current directory monitors are
removed and have to be re-added which there isn't a convient way besides the
FMDirectoryView add_subdirectory call.  This has the side effect of causing
every column in the view to reload. For small directories it doesn't really
cause a problem.  But large directories end up taking a long time to load or
using the toolbar or the shortcut to move up a can directory cause similar
pain.  This also makes you unable to add new directories to the column and
get the properties for the directory that makes up the column (though for
properties you can just move the column to the left and select the folder).
The listview simply only adds new subdirectories to the root of the tree
and only changes the location if you open a new folder which then becomes
the new root for the tree.   As I've implemented the view I've wanted a way
to set the location of the pathbar (along with the needed history) but
without having to reset the view (ie. don't cause the view to have a
begin_loading call and don't remove current monitors, etc) and leave all
management to the view (the view can add files with add_subdirectory).  Even
adding this the issue of all directories reloading would still exist for
typed in location though i think this could be worked around in the view to
a large degree (it woudln't be an issue to open location didn't remove all
monitors.  We can re-add them easily enough but the view could be out of
sync if something changed between the time it was removed and added again
hence the reason why we need to use the add_directory call to issue we are
really in sync).

I was curious what was considered the best method forward around this
issue.  If this sounds like what we want i'll get on implementing it or if
there is a better way I'd love to know.  We could always just not allow the
properties and creating folders and live with the reloading.  Eitherway i
hope to have the code cleaned up this weekend or the first of next week and
hope to get something at least available in bugzilla or on the list for
others to try.

Cheers.

Trevor Davenport
[EMAIL PROTECTED]
-- 
nautilus-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/nautilus-list

Reply via email to