Review Request: Add Telepathy capabilities to tp-contactlist, and enable removing/adding contacts from/to a group

Dario Freddi drf54321 at gmail.com
Sun Mar 28 17:55:44 CEST 2010


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard.kde.org/r/3415/
-----------------------------------------------------------

(Updated 2010-03-28 15:55:43.809723)


Review request for telepathy and George Goldberg.


Changes
-------

Written half-decent API docs, changed the API as asked in the previous review. Now everything looks cleaner. The new API is also totally future-proof as it always assumes we might be handling more than an IMAccount. Everything still works - however metacontacts still don't due to a bug in Nepomuk resources, described below.

This big fat bug in Nepomuk is triggered by uncommenting line 118+ in TelepathyBridge. The Nepomuk::Thing we want to access is provided by including <Nepomuk/Thing>, however, including person.h triggers the inclusion of thing.h, which declares again Nepomuk::Thing, which is unfortunately a totally different class, and also thing.h conflicts with <Nepomuk/Thing>. Any ideas on how to overcome this are welcome.


Summary
-------

This patch adds two new classes (already ready to be librarized) for creating a Nepomuk->Telepathy bridge, making it very easy to retrieve Telepathy objects out of Nepomuk resources. Performance overhead looks trascurable.

By using this new class, contactlist is now able to add/remove people from a group.

Error handling is still missing, but I wanted an heads up before I go on and implement all the rest.

Also, how are we going to handle metacontacts in this particular regard? My take is to move/remove all contacts to/out of a group, and eventually creating a group for those accounts who still don't have a group named as such in case of addition.

Beware: until t-i-d will be able to catch these changes and update nepomuk accordingly, this is probably going to screw up your nepomuk DB when moving contacts around groups.


Diffs (updated)
-----

  /trunk/playground/network/telepathy-contactlist/CMakeLists.txt 1107773 
  /trunk/playground/network/telepathy-contactlist/contact-item.h 1107996 
  /trunk/playground/network/telepathy-contactlist/contact-item.cpp 1107996 
  /trunk/playground/network/telepathy-contactlist/main-widget.h 1107996 
  /trunk/playground/network/telepathy-contactlist/main-widget.cpp 1107996 
  /trunk/playground/network/telepathy-contactlist/main-widget.ui 1107667 
  /trunk/playground/network/telepathy-contactlist/meta-contact-item.h 1107996 
  /trunk/playground/network/telepathy-contactlist/meta-contact-item.cpp 1107996 
  /trunk/playground/network/telepathy-contactlist/telepathy-account-proxy.h PRE-CREATION 
  /trunk/playground/network/telepathy-contactlist/telepathy-account-proxy.cpp PRE-CREATION 
  /trunk/playground/network/telepathy-contactlist/telepathy-bridge.h PRE-CREATION 
  /trunk/playground/network/telepathy-contactlist/telepathy-bridge.cpp PRE-CREATION 

Diff: http://reviewboard.kde.org/r/3415/diff


Testing
-------

Works, empathy recognizes the changes correctly.


Thanks,

Dario



More information about the KDE-Telepathy mailing list