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:
A quick explanation (each point corresponds to a image):
- The button Set/View location is added to the task editor window;
- 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;
- 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;
- 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;
- 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