After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 270751 - Handle task: and date: uris from command line
Handle task: and date: uris from command line
Status: RESOLVED FIXED
Product: evolution
Classification: Applications
Component: Calendar
2.8.x (obsolete)
Other All
: Normal enhancement
: ---
Assigned To: evolution-calendar-maintainers
Evolution QA team
Depends on:
Blocks: 162305
 
 
Reported: 2004-12-22 16:24 UTC by Nickolay V. Shmyrev
Modified: 2013-09-10 14:04 UTC
See Also:
GNOME target: 2.18.x
GNOME version: ---


Attachments
Proposed patch (6.62 KB, patch)
2004-12-27 09:53 UTC, Nickolay V. Shmyrev
needs-work Details | Review
Updated patch (4.26 KB, patch)
2006-09-24 22:24 UTC, Nickolay V. Shmyrev
none Details | Review
Patch (11.04 KB, patch)
2006-10-12 23:35 UTC, Nickolay V. Shmyrev
committed Details | Review

Description Nickolay V. Shmyrev 2004-12-22 16:24:42 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?
Comment 1 Nickolay V. Shmyrev 2004-12-27 09:53:06 UTC
Created attachment 44519 [details] [review]
Proposed patch
Comment 2 Gerardo Marin 2004-12-27 20:38:24 UTC
Please send your patch to Evolution-patches mailing list. You may need
to subscribe. Please see http://lists.ximian.com
Comment 3 Nickolay V. Shmyrev 2004-12-30 23:22:02 UTC
Patch is send
Comment 4 Sebastien Bacher 2005-06-02 12:08:01 UTC
any news on this bug?
Comment 5 Nickolay V. Shmyrev 2005-06-02 14:47:02 UTC
No idea, I've got no response to review request. Probably patch is alreay
outdated, but I can update it if needed.
Comment 6 Dave Malcolm 2005-11-01 20:07:57 UTC
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.
Comment 7 André Klapper 2005-12-06 23:44:48 UTC
updating version number
Comment 8 André Klapper 2006-08-21 19:24:01 UTC
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!
Comment 9 Nickolay V. Shmyrev 2006-08-22 00:13:36 UTC
ok, I'll try.
Comment 10 Nickolay V. Shmyrev 2006-09-24 22:24:10 UTC
Created attachment 73342 [details] [review]
Updated patch
Comment 11 Nickolay V. Shmyrev 2006-09-24 22:26:17 UTC
Please consider this patch, it's really a time to implement this gnome-panel feature.
Comment 12 André Klapper 2006-09-28 12:47:31 UTC
indeed. chen will review this within the next time.
nickolay, thanks a lot for your patience!
Comment 13 Chenthill P 2006-09-29 06:44:45 UTC
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. 
Comment 14 Nickolay V. Shmyrev 2006-09-30 12:24:14 UTC
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?
Comment 15 Chenthill P 2006-10-11 09:13:37 UTC
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.
Comment 16 Nickolay V. Shmyrev 2006-10-12 23:35:16 UTC
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.
Comment 17 André Klapper 2006-10-14 00:30:59 UTC
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.
Comment 18 André Klapper 2006-10-28 00:54:27 UTC
chen: *ping*

gnome 2.16.x target, for better desktop integration.
Comment 19 Chenthill P 2006-11-15 09:45:35 UTC
Marking it for 2.9 since its a new feature in tasks, as pointed out by vincent untz.
Comment 20 Chenthill P 2006-12-04 09:45:33 UTC
Updated the ChangeLog and committed the fix to cvs HEAD. Thanks for the patch !!!
Comment 21 Sebastien Bacher 2007-04-04 21:50:11 UTC
did that change create bug #407104 ("evolution calendar:///?startdate=..."  not working)?