Home > gnome, gsoc > Google Summer of Code: Week 8

Google Summer of Code: Week 8

This week I worked with libchamplain and added it to the GTG! geolocalized-tasks plugin that I’m making. I have a working version as planned. It’s now possible to add a location to a task or view a task (that has a defined location) on the map. It will have some more features in a few days. Some images of libchamplain + geoclue + GTG! in action:

geoplugin_1
geoplugin_2
geoplugin_3

geoplugin_4
geoplugin_5

A quick explanation (each point corresponds to a image):

  1. The button Set/View location is added to the task editor window;
  2. Viewing the task’s location on the map. This task (as you can see on the first image) has three tags, two of them with location and on of the tags that has a location doesn’t have a color set so that gray is the default color;
  3. A task with a tag named “CGE” with the color attribute defined to pink and with the location defined. Because the task has already a location defined, it only shows the location;
  4. A task that doesn’t have tags (so no location). Using geoclue (pygeoclue) the markers position is set to the current location. It’s also possible to move the marker around to the desired position. There is a gtk.entry to define the tag’s name;
  5. This task has tags but no location is defined. Again, using geoclue the markers position is set to the current location. Now it’s possible to create a new tag to associate with the location or to associate the location to a existing tag;

Some new features will be available in the next days along with a screencast.

Learning libchamplain was a challenge, I had some problems and spent allot of time figuring out how to solve them but the libchamplain team was wonderful and help me thru the problems, many thanks to Victor and Pierre-Luc!

So this week I:

  • added libchamplain to geolocalized-tasks plugin in GTG!
    • learned how clutter/libchamplain works
    • tested and experimented with the python bindings (view, layers and markers mostly)
    • coded an example (demo in python) of how to change a marker’s position on the map. The demo is available here: http://paulocabido.com/soc/libchamplain/move_marker.py
  • fixed several bugs in the plugin-engine

All the code (plugin + plugin-engine) is available at my plugin-engine branch: https://code.launchpad.net/~pcabido/gtg/plugin-engine

  1. matteo
    August 9th, 2009 at 11:31 | #1

    how do you install libchamplain python bindings on jaunty? I coulnd’t find any debs.

    So I added telepathy’s ppa (https://launchpad.net/~telepathy/+archive/ppa) and did:
    apt-get source libchamplain
    sudo apt-get build-dep libchamplain
    cd libchamplain-0.3.3
    ./configure –enable-python

    but it stops with:
    configure: error: Couldn’t find python.

    how is it possible? python is regularly installed here..

  2. August 9th, 2009 at 12:15 | #2

    do you have all the clutter dependencies (python-clutter, etc) or libgconf2?

  3. matteo
    August 9th, 2009 at 13:31 | #3

    I downloaded 0.3.5, installed pygtk-2.0-dev, python-clutter and libgconf2-dev and now it compiled fine, but now:

    $ python
    Python 2.6.2 (release26-maint, Apr 19 2009, 01:56:41)
    [GCC 4.3.3] on linux2
    Type “help”, “copyright”, “credits” or “license” for more information.
    >>> import champlain
    Traceback (most recent call last):
    File “”, line 1, in
    ImportError: /usr/lib/python2.6/dist-packages/champlain.so: undefined symbol: champlain_layer_add_marker
    >>>

  4. August 9th, 2009 at 13:35 | #4

    use configure with –prefix=/usr and be sure to do the make install

  5. matteo
    August 9th, 2009 at 13:41 | #5

    wow!! it worked! thank you very much!

  6. August 9th, 2009 at 13:50 | #6

    No problem ;)

  1. July 21st, 2009 at 18:41 | #1
  2. July 23rd, 2009 at 06:57 | #2
  3. July 28th, 2009 at 02:27 | #3