/* testaddresses KPilot ** ** Copyright (C) 2007 by Jason 'vanRijn' Kasper #include #include #include #include #include #include #include #include "pilot.h" #include "pilotDateEntry.h" #include "pilotLocalDatabase.h" #include "../conduits/vcalconduit/kcalRecord.cc" #include "../conduits/vcalconduit/vcalRecord.cc" static const KCmdLineOptions options[] = { {"verbose", "Verbose output", 0}, {"data-dir ","Set data directory", "."}, {"vcal-file ","Set vcal file", 0}, KCmdLineLastOption }; int main(int argc, char **argv) { FUNCTIONSETUP; TDEApplication::disableAutoDcopRegistration(); TDEAboutData aboutData("exportdatebook","Emport Date Book","0.1"); TDECmdLineArgs::init(argc,argv,&aboutData); TDECmdLineArgs::addCmdLineOptions( options ); TDEApplication app( false, false ); TDECmdLineArgs *args = TDECmdLineArgs::parsedArgs(); debug_level= (args->isSet("verbose")) ? 4 : 0; TQString datadir = args->getOption("data-dir"); TQString vcalfile = args->getOption("vcal-file"); if (datadir.isEmpty()) { WARNINGKPILOT << "! Must provide a data-directory." << endl; } if (vcalfile.isEmpty()) { WARNINGKPILOT << "! Must provide a vcal-file to write to." << endl; } if (datadir.isEmpty() || vcalfile.isEmpty()) { return 1; } /* KConfig korgcfg( locate( "config", CSL1("korganizerrc") ) ); // this part taken from adcalendarbase.cpp: korgcfg.setGroup( "Time & Date" ); TQString tz(korgcfg.readEntry( "TimeZoneId" ) ); DEBUGKPILOT << fname << ": KOrganizer's time zone = " << tz << endl; KCal::CalendarLocal *calendar = new KCal::CalendarLocal( tz ); */ KCal::CalendarLocal *calendar = new KCal::CalendarLocal( TQString() ); if (!calendar) { WARNINGKPILOT << "! Can't create calendar object." << endl; return 1; } Pilot::setupPilotCodec( CSL1("Latin1") ); PilotLocalDatabase db( datadir, "DatebookDB" ); PilotDateInfo *fAppointmentAppInfo = new PilotDateInfo( &db ); int currentRecord = 0; PilotRecord *pilotRec = 0; PilotDateEntry *d = 0; while ((pilotRec = db.readRecordByIndex(currentRecord++)) != NULL) { d = new PilotDateEntry(pilotRec); KCal::Event*event = new KCal::Event; KCalSync::setEvent(event, d,*fAppointmentAppInfo->categoryInfo()); event->setSyncStatus( KCal::Incidence::SYNCNONE ); calendar->addEvent(event); } calendar->save(vcalfile); return 0; }