KPilot Developer's notes for december 31st 2001 =============================================== Time to go out with a bang, eh. I'm posting this in the middle of the afternoon because I still have to get some ingredients for my new-years-party-brownies (note to self: kpilot recipies conduit) and doubt I'll get any more hacking done before the new year is rung in. These are long notes because there's a fair amount of rambling in between and detailed notes on the changes. (Klaus, feel free to snip any of this as an indication of what's going on for the pim-pages). The executive summary: I believe that KPilot 4.3.0a now works just as well -- or as poorly -- as KPilot 4.2.3, but is much more nicely designed and easier to extend and repair. Fixing the VCal conduits so they actually do a sync was a fair bit of work, partly because it was so weirdly crufty, partly because of the peculiar separation of the todo from the vcal conduit. 2001-12-28 Adriaan de Groot * conduits/vcalconduit/vcalBase.{h,cc} * conduits/vcalconduit/vcal-conduit.{h,cc} * conduits/vcalconduit/todo-conduit.{h,cc} - Well, it compiles now. * lib/plugin.{h,cc} - Added isBackup() so that conduits can now also do their own backups. Note that conduits aren't called (yet) during a backup action. * conduits/popmail/* - Why the heck does this (still) use FILE *? - It compiles and there is a sync action. Next up is checking out kpilotTest and making sure that it does sensible things, like closing the device handle, allowing multiple syncs, and running file install correctly. After that, testing testing testing. 2001-12-28 Adriaan de Groot * kpilot/main-test.cc - Added one-letter cmd-line-options, sanity checking. - Switched to SyncStack integrated syncing (see below). * kpilot/main-config.cc - Removed unused new-style option. * kpilot/syncStack.{h,cc} - New files encapsulating sync sequence knowledge. 2001-12-29 Adriaan de Groot * kpilot/pilotDaemon.{h,cc} - Switched to SyncStack. * lib/kpilotlink.cc - Work around an off-by-one bug in pilot-link versions < 0.9.6. * kpilot/interactiveSync.cc - Added support for don't ask again in the check-user questions. This changes the API of questionYesNo, but only inserts a (defaulted) parameter, so "regular" calls of this should be unaffected. The GUI isn't updated at all (?) during a backup action. Hmph. Well, only between databases, but that's not much. The backup appears to work, which is a good thing. Gonna hafta try the restore action soon ;) 2001-12-29 Adriaan de Groot * conduits/null/null-*.{h,cc} - Fixed some configuration load / restore / use bugs. Moved configuration keys to the factory. * kpilot/syncStack.{h,cc} - The conduit proxy action also needs to proxy the messages from the conduit. I never knew connect(p,SIGNAL(),q,SIGNAL()) worked! Wow. * kpilot/logWidget.{h,cc} - Added missing slot for logProgress. Aieee! I'm becoming a kate user, vi is suffering from abandonment on my devel box. This is troubling -- using the software you write. Heck, next thing you know, I'll be using KPilot to sync my Pilot. Ewwwww. 2001-12-29 Adriaan de Groot * kpilot/conduitConfigDialog.{h,cc} - Removed old Exec= style conduits entirely. They're warned for now. * conduits/abbrowserconduit/* - See conduit run. See DrKonqui. Whee! Oh, and this *one* conduit has a name of the form bla_conduit, while all others are bla-conduit. Yay. See pointer get used before initialization. Cool! It crashes elsewhere. Isn't delayed loading great? __rs__FR11QDataStreamRt5QDict1Z12ContactEntry And ... that was fucking amazing. Greg, you da man. OK, so that one also runs to completion, at least the first time. It looks like FirstTime isn't being turned off like it should, so I'll do that by hand. OK, changes get copied from the Pilot to KAddressbook ok, but the conduit seems to read *all* records from the Pilot, not just the modified ones. That's bad for the batteries. Oh well, I'm just so happy it works that I'll move on to the next conduit and deal with bugs tomorrow. * conduits/expense/* - Seems to work fine. * conduits/knotes/* - Undefined symbols ... man, I (semi) hate libtool libraries. See, I just left some essential code *out* here, and thus libtool thinks it'll be resolved later. Ha! OK, it at least copies new KNotes to the Pilot. That's enough for now. * conduits/popmail/* - Um, does this actually *do* anything? OK, config fixes, dcop fixes ... and voila, a message shows up in the outbox of KMail. So let's call sending via KMail a success and have a cup of tea. * conduits/vcalconduit/* - Now things get hairy / exciting. Let's start with the ToDo conduit: kpilotTest: WARNING: [void ConduitProxy::exec()] : Can't create SyncAction. Very wise. Of course, the code to create a conduit is not in the factory. Brilliant! Nothing a little cut-n-paste can't cure, and configure, and .. DrKonqui. Did some indenting, my brain hurts from trying to (a) understand this (b) fix all the memory leaks. Rewrite? - VCalConduit: it doesn't crash, but it's probably going to read all the things from my Pilot and install them in KOrganizer with a date of 0000/00/00 (from looking at the debug messages as they fly by). And .. whump, KOrganizer now can't read the .ics file anymore. *Every* sync, KPilot tells me that the name in the pilot is different from the name in KPilot. Gotta fix that. 2001-12-30 Aaron J Seigo * kpilot/logWidget.cc * kpilot/kpilot.cc - Paint the KPilot version number in the splash screen. 2001-12-30 Adriaan de Groot * conduits/vcalconduit/vcal-conduit.cc * conduits/vcalconduit/vcalBase.cc - Removed some __FUNCTION__ things, added #ifdef DEBUG to debug code. In some other files, too. - The code in vcalBase.cc is in heavy need of an invocation of indent. It's horrible and ugly in other ways, too, but this is a start. 2001-12-31 Adriaan de Groot Some general polishing of ToolTips &c. * kpilot/* - Added Kristof's icon for the file installer. It's still a preliminary version, though. - TODO: after reconfiguring the username, re-initialize all components in kpilot, to get the new databases. - Switched the ToolTips in the address viewer to use - TODO: ditch the toolbar; perhaps add the select-kind-of-sync functionality to the logWidget. -- +------------------------------+ | Adriaan de Groot | Drinken, in een bepaalde tijd symbolisch, | http://www.cs.kun.nl/~adridg | is in een andere tijd zuipen - Wittgenstein _______________________________________________ kde-pim mailing list kde-pim@mail.kde.org http://mail.kde.org/mailman/listinfo/kde-pim kde-pim home page at http://pim.kde.org/