Column view update & issues



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
trevor davenport gmail com


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]