From cb7eddb91455a69cf66fcd717e91a51ca5e2cfef Mon Sep 17 00:00:00 2001 From: tpearson Date: Wed, 16 Feb 2011 20:17:18 +0000 Subject: Moved kpilot from kdepim to applications, as the core Trinity libraries should not contain hardware-dependent software git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/kpilot@1221127 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- tests/exportdatebook.cc | 136 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 136 insertions(+) create mode 100644 tests/exportdatebook.cc (limited to 'tests/exportdatebook.cc') diff --git a/tests/exportdatebook.cc b/tests/exportdatebook.cc new file mode 100644 index 0000000..d4cf8c5 --- /dev/null +++ b/tests/exportdatebook.cc @@ -0,0 +1,136 @@ +/* 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; + + KApplication::disableAutoDcopRegistration(); + + KAboutData aboutData("exportdatebook","Emport Date Book","0.1"); + KCmdLineArgs::init(argc,argv,&aboutData); + KCmdLineArgs::addCmdLineOptions( options ); + + KApplication app( false, false ); + + KCmdLineArgs *args = KCmdLineArgs::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; +} + -- cgit v1.2.1