← Back to team overview

gtg team mailing list archive

refactoring in progress

 

Hello,

I'm currently doing a big refactoring on GTG. The work can be seen here :
https://code.edge.launchpad.net/~gtg/gtg/gtg-refactor

It's now in the state where I think that other people than me can start
working on it.


This refactoring serves two purposes : 

1) Tag and Tasks should becomes Treenodes object. Datastore and Tagstore
are now trees that can be used directly by gtk.Treeview, which is very very
very very interesting from a performance pov and also in order to avoid
code duplication.

This is currently "working" (in the sense that tasks are now TreeNodes and
directly displayed.

What need remains to be done :
1.a) Tasks handling of childs/parents should be completely delegated to
TreeNode. No more parent/child handling in the task itself. I plan to do it
soon.
1.b) Make filters working again. As we are not rebuilding the tree
anymore, we will work with filters. I hope Bertrand can give some hints
about filters and how they are currently used in GTG
1.c) Rewriting the requester. I will do it once the filters are working.

In the process, I expect lot and lot of code to be dumped. This is a very
good thing, IMHO.



2) Because I had stuffs to do in the browser, I already started to split
the browser into the real browser and a "core/manager.py" that handles all
GTG windows. This is already working with a couple of FIXME in the manager
code that are still handled in the browser.

Please have a look at it. Any contribution to this split is highly
welcome :-)


Lionel