GNOME Bugzilla – Bug 270751
Handle task: and date: uris from command line
Last modified: 2013-09-10 14:04:48 UTC
In order to improve integration with gnome clock applet there should be ability to open existing task properties dialog and open calendar control with the predefined date. That is needed for implementing two features: 1. Doubleclick on clock date should open evolution calendar with the date clicked 2. Double click on task row should open task properties. To do this I think the easiest way is allow calendar and tasks component of evolution handle "task:" and "date:" uris So, the corresponding evolution:uri_schemas property should be added to GNOME_Evolution_Calendar.server file and bonobo methods handleURI should be implemented in calendar-control and tasks-control. I've started this work but I have trouble with evolution internals. Could someone describe the way to implement features described above?
Created attachment 44519 [details] [review] Proposed patch
Please send your patch to Evolution-patches mailing list. You may need to subscribe. Please see http://lists.ximian.com
Patch is send
any news on this bug?
No idea, I've got no response to review request. Probably patch is alreay outdated, but I can update it if needed.
I just tried patching the 2.4.1 tarball with attachment 44519 [details] [review]. The calendar-component part of that patch is now outdated; in the latest version there is a handleURI method, but it uses a slightly different scheme to the one in the patch. The tasks-component part of the patch still seems to apply cleanly, FWIW.
updating version number
nickolay, can i ask you to kindly update the patch against a current version (2.6.3, or even better CVS HEAD)? i'd love to see this going in. thanks a lot in advance, also for your patience!
ok, I'll try.
Created attachment 73342 [details] [review] Updated patch
Please consider this patch, it's really a time to implement this gnome-panel feature.
indeed. chen will review this within the next time. nickolay, thanks a lot for your patience!
Nicholay, thanks for spending your valuable time for the patch. Some comments to improve the patch, The uri would not be of the form "task:uid", it should follow the uri specifications (rfc 2396). It needs to specify source-id to identify the right tasklist in which the task object is present. setup_create_ecal would just open the default tasklist (the highlightened one on the left pane tasks component view). The task object may not be necessarly present in the default tasklist in which case, we would fail to open it. Please refer to the existing implementation for handling the calendar uri's present in calendar-component.c:impl_handleURI.
Dear chenthill, can you please comment a bit more about the way it should work. CalendarComponent is quite different and uses GnomeCalendar. It's not a problem to get srcuid and uid, but how can I get task editor from them? What functions should I use. I see ECalendarTable has some support for tracking unique dialog for every task, should I bypass the request there? Should I use CompEditorFactory instead?
Its better to implement a similar function as gnome_calendar_edit_appointment in ETasks (e-task.c) and call it from tasks-component. The e_calendar_table_open_task function can be modified to take the arguments ECal *client and ECalComponent instead of ECalModelComponent and used for opening the task.
Created attachment 74603 [details] [review] Patch Yes, really it's easier that one can think from the first look. I think this patch does the right thing.
this is a major issue to improve gnome desktop integration. chen, please let's make sure that we get this in for gnome 2.16.2, if it does not break abi/api.
chen: *ping* gnome 2.16.x target, for better desktop integration.
Marking it for 2.9 since its a new feature in tasks, as pointed out by vincent untz.
Updated the ChangeLog and committed the fix to cvs HEAD. Thanks for the patch !!!
did that change create bug #407104 ("evolution calendar:///?startdate=..." not working)?