Re: Doubts on writing a nautilus view



On Sun, 2008-02-03 at 19:51 +0100, Jisakiel wrote:
> Greetings. We are a smallish group of students from Madrid working on
> a usable backup application, sort of "inspired" in Timevault or
> Apple's Time Machine, for a software engineering course.
> (launchpad.net/hdlorean -sorry about the cromulent english there ;)-,
> and hdlorean.wikidot.com for the project page... unfortunately in
> Spanish!). Back when scoping the app, we wanted it to be usable over
> most all other metrics, which we thought it implied integrating it
> with the Desktop Environment of choice, in this case Gnome and
> Nautilus (for being the default in Ubuntu, the distro most of my
> fellows use). 

Its not exactly easy to do something like this in Nautilus atm.
Nautilus-extensions are really meant for minor extension points like
menu items, toolbars or adding additional metadata to files.

Support for external views using Bonobo has been removed a while ago,
and all views are now normal in-process widgets. There is no public API
to add them, since the APIs are not really stable, but its possible to
add views inside the nautilus codebase pretty easily.

However, implementing a view from scratch is quite some work. Especially
since a new view can't really reuse the presentation code from another
view (say the icon view) which is what you guys would want.

I'd say that the easiest way to implement this is to do a gnome-vfs or
gvfs backend that accessed your backup data, and then have some way to
query and update the currently displayed time. 

This is probably easier to do with gvfs, as it is more extensible. You
can make up your own attributes and both set them from an app (to
control the currently displayed time) and add information about each
file (like version or whatever). You can then have a nautilus extension
that converts the extra attributes into colums for the list view and add
custom emblems.

For the time bar you can use a NautilusLocationWidgetProvider that is
triggered on your gvfs uri scheme to add a custom widget above the
directory view. This will let you modify the date shown, and as long as
the backend correctly generated file change events the view should
update.



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