GNOME Bugzilla – Bug 216783
storage interfaces for delayed folder-tree creation
Last modified: 2013-09-10 14:02:48 UTC
We need to be able to create folder trees that aren't filled in until the user opens them.
*** bug 201157 has been marked as a duplicate of this bug. ***
Do you have any proposals for the IDL?
yes, i'm working on this now. in EvolutionStorageListener: void notifyHasSubfolders (in string path, in string message) in EvolutionStorage: void asyncOpenFolder (in string path, in Bonobo::Listener listener) The mailer would create the storage and then do evolution_storage_has_subfolders (storage, "/", _("Connecting...")) The shell would create the storage, closed, with a child whose label was "Connecting...". When the user opens the storage, the shell does an asyncOpenFolder, at which point the mailer tries to connect and fill in the folder tree. (As soon as it adds a real folder, the shell will remove the fake "Connecting..." node). When the mailer is done, it sends back success/failure via the listener. If it fails, the shell re-closes the storage. The "has subfolders" call can also be made on a folder inside the storage, so that evolution-exchange-storage can fill in each level of the public folder hierarchy as the user opens it, just like Outlook does.
Fixed in CVS.