On Mon, 2007-08-01 at 20:38 +0100, Tom Billiet wrote: > > > ----- Original Message ----- > From: Tom Billiet > Time: 08-01-07 15:54 > > Hi, > > > > I'm currently looking if it's possible to add category support for > > the addressbook when syncing with evolution. As far as I found > > there is currently no support for it, so I started looking at the > > code trying to hack it myself :-) > > But I'm a bit confused understanding the code. I think the most > > important things need to be changed in the addressbook conduit file > > from evolution (addressbook/conduit/address-conduit.c). But looking > > at that file it seems some work on category support has already been > > done. At least, the categories from the palm are read and first > > stored in a structure, but then discarded as far as I understand. Is > > there anybody who can give some more information about this? > > Second when I look at the function: static GnomePilotRecord > > local_record_to_pilot_record (ECalLocalRecord *local, > > ECalConduitContext *ctxt, > > unsigned char *record, > > int maxRecordLen) > > { > > which is designed to convert a record from evolution to palm. This > > method contains a structure ECalLocalRecord *local, and this > > structure has a member category, but this value always seems to be > > 0. This function is called from the function "compare" and > > "prepare", but I have actually no clue from where these functions > > are called, and so I don't know where the ECalLocalRecord *local > > structure is actually made. Can somebody help me and put me on the > > right track for this? I guess it has something to do with the > > "gtk_signal_connect (retval, "prepare", (GtkSignalFunc) prepare, > > ctxt);" functions, but I have no experience with gtk/gnome > > programming, so it's still somewhat confusing to me. > > > > Thanks, > > Tom > > > Okay, > To answer to my own mail: I still haven't found where the "compare" > and "prepare" functions are called, but I noticed it's not needed. I > do have a working category syncing now :-) > But not too enthusiast, I still have a 3 problems left: > 1) (the biggest problem) Every item you read from the palm has a > category, which is a number (id). But so I have no idea what the name > of that category is, and I can't find a function to convert that id to > a name or get a list of all the categories in the palm. I'm sure this > is possible, but I'm overlooking it in the pilot-link doc's, can > anybody help me on this? > 2) Evolution has support for adding an item to more than 1 category, > palm doesn't have this support. Now I'm only using the first category > and ignoring the rest if an item has more categories. I don't see any > other solution. > 3) Putting an item in an non-existent category in evolution doesn't > create a new category, but the item is added to that category > (categories are stored as a string of comma separated values in > evolution). So you have to create the category yourself in evolution. > No big deal, as it will still work if the category is non-existent. I > haven't tried creating a new category on the palm, but I found > functions in pilot link for doing this, so I think that won't be a big > problem. But I first need to be able to determine whether a category > is already available in palm, which brings me back to point 1 :-) > > If somebody can help me on this I can fix these problems and send my > patch. > not helping you here, but just saying I look forward to the patch and will try to copy it in some crude way for birthdays (the other thing I want to make work). matt > Greetings, > Tom > _______________________________________________ > gnome-pilot-list mailing list > gnome-pilot-list gnome org > http://mail.gnome.org/mailman/listinfo/gnome-pilot-list -- Matt Price History Dept University of Toronto matt price utoronto ca
Attachment:
signature.asc
Description: This is a digitally signed message part